@@ -229,9 +229,9 @@ static const struct st33zp24_phy_ops spi_phy_ops = {
229
229
.recv = st33zp24_spi_recv ,
230
230
};
231
231
232
- static int st33zp24_spi_acpi_request_resources (struct st33zp24_spi_phy * phy )
232
+ static int st33zp24_spi_acpi_request_resources (struct spi_device * spi_dev )
233
233
{
234
- struct spi_device * spi_dev = phy -> spi_device ;
234
+ struct st33zp24_spi_phy * phy = spi_get_drvdata ( spi_dev ) ;
235
235
const struct acpi_device_id * id ;
236
236
struct gpio_desc * gpiod_lpcpd ;
237
237
struct device * dev ;
@@ -265,23 +265,23 @@ static int st33zp24_spi_acpi_request_resources(struct st33zp24_spi_phy *phy)
265
265
return 0 ;
266
266
}
267
267
268
- static int st33zp24_spi_of_request_resources (struct st33zp24_spi_phy * phy )
268
+ static int st33zp24_spi_of_request_resources (struct spi_device * spi_dev )
269
269
{
270
+ struct st33zp24_spi_phy * phy = spi_get_drvdata (spi_dev );
270
271
struct device_node * pp ;
271
- struct spi_device * dev = phy -> spi_device ;
272
272
int gpio ;
273
273
int ret ;
274
274
275
- pp = dev -> dev .of_node ;
275
+ pp = spi_dev -> dev .of_node ;
276
276
if (!pp ) {
277
- dev_err (& dev -> dev , "No platform data\n" );
277
+ dev_err (& spi_dev -> dev , "No platform data\n" );
278
278
return - ENODEV ;
279
279
}
280
280
281
281
/* Get GPIO from device tree */
282
282
gpio = of_get_named_gpio (pp , "lpcpd-gpios" , 0 );
283
283
if (gpio < 0 ) {
284
- dev_err (& dev -> dev ,
284
+ dev_err (& spi_dev -> dev ,
285
285
"Failed to retrieve lpcpd-gpios from dts.\n" );
286
286
phy -> io_lpcpd = -1 ;
287
287
/*
@@ -292,20 +292,20 @@ static int st33zp24_spi_of_request_resources(struct st33zp24_spi_phy *phy)
292
292
return 0 ;
293
293
}
294
294
/* GPIO request and configuration */
295
- ret = devm_gpio_request_one (& dev -> dev , gpio ,
295
+ ret = devm_gpio_request_one (& spi_dev -> dev , gpio ,
296
296
GPIOF_OUT_INIT_HIGH , "TPM IO LPCPD" );
297
297
if (ret ) {
298
- dev_err (& dev -> dev , "Failed to request lpcpd pin\n" );
298
+ dev_err (& spi_dev -> dev , "Failed to request lpcpd pin\n" );
299
299
return - ENODEV ;
300
300
}
301
301
phy -> io_lpcpd = gpio ;
302
302
303
303
return 0 ;
304
304
}
305
305
306
- static int st33zp24_spi_request_resources (struct spi_device * dev ,
307
- struct st33zp24_spi_phy * phy )
306
+ static int st33zp24_spi_request_resources (struct spi_device * dev )
308
307
{
308
+ struct st33zp24_spi_phy * phy = spi_get_drvdata (dev );
309
309
struct st33zp24_platform_data * pdata ;
310
310
int ret ;
311
311
@@ -357,17 +357,20 @@ static int st33zp24_spi_probe(struct spi_device *dev)
357
357
return - ENOMEM ;
358
358
359
359
phy -> spi_device = dev ;
360
+
361
+ spi_set_drvdata (dev , phy );
362
+
360
363
pdata = dev -> dev .platform_data ;
361
364
if (!pdata && dev -> dev .of_node ) {
362
- ret = st33zp24_spi_of_request_resources (phy );
365
+ ret = st33zp24_spi_of_request_resources (dev );
363
366
if (ret )
364
367
return ret ;
365
368
} else if (pdata ) {
366
- ret = st33zp24_spi_request_resources (dev , phy );
369
+ ret = st33zp24_spi_request_resources (dev );
367
370
if (ret )
368
371
return ret ;
369
372
} else if (ACPI_HANDLE (& dev -> dev )) {
370
- ret = st33zp24_spi_acpi_request_resources (phy );
373
+ ret = st33zp24_spi_acpi_request_resources (dev );
371
374
if (ret )
372
375
return ret ;
373
376
}
0 commit comments