@@ -1138,9 +1138,11 @@ static int mcp251x_can_remove(struct spi_device *spi)
1138
1138
return 0 ;
1139
1139
}
1140
1140
1141
- #ifdef CONFIG_PM
1142
- static int mcp251x_can_suspend (struct spi_device * spi , pm_message_t state )
1141
+ #ifdef CONFIG_PM_SLEEP
1142
+
1143
+ static int mcp251x_can_suspend (struct device * dev )
1143
1144
{
1145
+ struct spi_device * spi = to_spi_device (dev );
1144
1146
struct mcp251x_platform_data * pdata = spi -> dev .platform_data ;
1145
1147
struct mcp251x_priv * priv = dev_get_drvdata (& spi -> dev );
1146
1148
struct net_device * net = priv -> net ;
@@ -1170,8 +1172,9 @@ static int mcp251x_can_suspend(struct spi_device *spi, pm_message_t state)
1170
1172
return 0 ;
1171
1173
}
1172
1174
1173
- static int mcp251x_can_resume (struct spi_device * spi )
1175
+ static int mcp251x_can_resume (struct device * dev )
1174
1176
{
1177
+ struct spi_device * spi = to_spi_device (dev );
1175
1178
struct mcp251x_platform_data * pdata = spi -> dev .platform_data ;
1176
1179
struct mcp251x_priv * priv = dev_get_drvdata (& spi -> dev );
1177
1180
@@ -1191,9 +1194,13 @@ static int mcp251x_can_resume(struct spi_device *spi)
1191
1194
enable_irq (spi -> irq );
1192
1195
return 0 ;
1193
1196
}
1197
+
1198
+ static SIMPLE_DEV_PM_OPS (mcp251x_can_pm_ops , mcp251x_can_suspend ,
1199
+ mcp251x_can_resume ) ;
1200
+ #define MCP251X_PM_OPS (&mcp251x_can_pm_ops)
1201
+
1194
1202
#else
1195
- #define mcp251x_can_suspend NULL
1196
- #define mcp251x_can_resume NULL
1203
+ #define MCP251X_PM_OPS NULL
1197
1204
#endif
1198
1205
1199
1206
static const struct spi_device_id mcp251x_id_table [] = {
@@ -1208,13 +1215,12 @@ static struct spi_driver mcp251x_can_driver = {
1208
1215
.driver = {
1209
1216
.name = DEVICE_NAME ,
1210
1217
.owner = THIS_MODULE ,
1218
+ .pm = MCP251X_PM_OPS ,
1211
1219
},
1212
1220
1213
1221
.id_table = mcp251x_id_table ,
1214
1222
.probe = mcp251x_can_probe ,
1215
1223
.remove = mcp251x_can_remove ,
1216
- .suspend = mcp251x_can_suspend ,
1217
- .resume = mcp251x_can_resume ,
1218
1224
};
1219
1225
module_spi_driver (mcp251x_can_driver );
1220
1226
0 commit comments