@@ -34,7 +34,6 @@ struct pca9450 {
34
34
struct device * dev ;
35
35
struct regmap * regmap ;
36
36
struct gpio_desc * sd_vsel_gpio ;
37
- struct notifier_block restart_nb ;
38
37
enum pca9450_chip_type type ;
39
38
unsigned int rcnt ;
40
39
int irq ;
@@ -967,10 +966,9 @@ static irqreturn_t pca9450_irq_handler(int irq, void *data)
967
966
return IRQ_HANDLED ;
968
967
}
969
968
970
- static int pca9450_i2c_restart_handler (struct notifier_block * nb ,
971
- unsigned long action , void * data )
969
+ static int pca9450_i2c_restart_handler (struct sys_off_data * data )
972
970
{
973
- struct pca9450 * pca9450 = container_of ( nb , struct pca9450 , restart_nb ) ;
971
+ struct pca9450 * pca9450 = data -> cb_data ;
974
972
struct i2c_client * i2c = container_of (pca9450 -> dev , struct i2c_client , dev );
975
973
976
974
dev_dbg (& i2c -> dev , "Restarting device..\n" );
@@ -1128,10 +1126,9 @@ static int pca9450_i2c_probe(struct i2c_client *i2c)
1128
1126
pca9450 -> sd_vsel_fixed_low =
1129
1127
of_property_read_bool (ldo5 -> dev .of_node , "nxp,sd-vsel-fixed-low" );
1130
1128
1131
- pca9450 -> restart_nb .notifier_call = pca9450_i2c_restart_handler ;
1132
- pca9450 -> restart_nb .priority = PCA9450_RESTART_HANDLER_PRIORITY ;
1133
-
1134
- if (register_restart_handler (& pca9450 -> restart_nb ))
1129
+ if (devm_register_sys_off_handler (& i2c -> dev , SYS_OFF_MODE_RESTART ,
1130
+ PCA9450_RESTART_HANDLER_PRIORITY ,
1131
+ pca9450_i2c_restart_handler , pca9450 ))
1135
1132
dev_warn (& i2c -> dev , "Failed to register restart handler\n" );
1136
1133
1137
1134
dev_info (& i2c -> dev , "%s probed.\n" ,
0 commit comments