Skip to content

Commit

Permalink
ide: remove driver_data direct access of struct device
Browse files Browse the repository at this point in the history
In the near future, the driver core is going to not allow direct access
to the driver_data pointer in struct device.  Instead, the functions
dev_get_drvdata() and dev_set_drvdata() should be used.  These functions
have been around since the beginning, so are backwards compatible with
all older kernel versions.

Cc: linux-ide@vger.kernel.org
Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Greg Kroah-Hartman committed Jun 16, 2009
1 parent d961450 commit fcb5207
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
6 changes: 4 additions & 2 deletions drivers/ide/ide-pm.c
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,8 @@

int generic_ide_suspend(struct device *dev, pm_message_t mesg)
{
ide_drive_t *drive = dev->driver_data, *pair = ide_get_pair_dev(drive);
ide_drive_t *drive = dev_get_drvdata(dev);
ide_drive_t *pair = ide_get_pair_dev(drive);
ide_hwif_t *hwif = drive->hwif;
struct request *rq;
struct request_pm_state rqpm;
Expand Down Expand Up @@ -34,7 +35,8 @@ int generic_ide_suspend(struct device *dev, pm_message_t mesg)

int generic_ide_resume(struct device *dev)
{
ide_drive_t *drive = dev->driver_data, *pair = ide_get_pair_dev(drive);
ide_drive_t *drive = dev_get_drvdata(dev);
ide_drive_t *pair = ide_get_pair_dev(drive);
ide_hwif_t *hwif = drive->hwif;
struct request *rq;
struct request_pm_state rqpm;
Expand Down
4 changes: 2 additions & 2 deletions drivers/ide/ide-probe.c
Original file line number Diff line number Diff line change
Expand Up @@ -535,7 +535,7 @@ static int ide_register_port(ide_hwif_t *hwif)

/* register with global device tree */
dev_set_name(&hwif->gendev, hwif->name);
hwif->gendev.driver_data = hwif;
dev_set_drvdata(&hwif->gendev, hwif);
if (hwif->gendev.parent == NULL)
hwif->gendev.parent = hwif->dev;
hwif->gendev.release = hwif_release_dev;
Expand Down Expand Up @@ -987,9 +987,9 @@ static void hwif_register_devices(ide_hwif_t *hwif)
int ret;

dev_set_name(dev, "%u.%u", hwif->index, i);
dev_set_drvdata(dev, drive);
dev->parent = &hwif->gendev;
dev->bus = &ide_bus_type;
dev->driver_data = drive;
dev->release = drive_release_dev;

ret = device_register(dev);
Expand Down
2 changes: 1 addition & 1 deletion drivers/ide/ide_platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -112,7 +112,7 @@ static int __devinit plat_ide_probe(struct platform_device *pdev)

static int __devexit plat_ide_remove(struct platform_device *pdev)
{
struct ide_host *host = pdev->dev.driver_data;
struct ide_host *host = dev_get_drvdata(&pdev->dev);

ide_host_remove(host);

Expand Down

0 comments on commit fcb5207

Please sign in to comment.