* [PATCH] sound: remove driver_data direct access of struct device
@ 2009-05-04 20:19 Greg Kroah-Hartman
2009-05-04 20:34 ` Mark Brown
0 siblings, 1 reply; 3+ messages in thread
From: Greg Kroah-Hartman @ 2009-05-04 20:19 UTC (permalink / raw)
To: Takashi Iwai, Jaroslav Kysela
Cc: Greg KH, Mark Brown, linuxppc-dev, Ian Molton, Philipp Zabel,
Jean Delvare, Johannes Berg, Timur Tabi, Liam Girdwood
From: Greg Kroah-Hartman <gregkh@suse.de>
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: Takashi Iwai <tiwai@suse.de>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: linuxppc-dev@ozlabs.org
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: Liam Girdwood <lrg@slimlogic.co.uk>
Cc: Philipp Zabel <philipp.zabel@gmail.com>
Cc: Jean Delvare <khali@linux-fr.org>
Cc: Timur Tabi <timur@freescale.com>
CC: Ian Molton <ian@mnementh.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
---
sound/aoa/fabrics/layout.c | 8 ++++----
sound/aoa/soundbus/i2sbus/core.c | 8 ++++----
sound/soc/codecs/wm8400.c | 4 ++--
sound/soc/codecs/wm8731.c | 4 ++--
sound/soc/codecs/wm8753.c | 4 ++--
5 files changed, 14 insertions(+), 14 deletions(-)
--- a/sound/aoa/fabrics/layout.c
+++ b/sound/aoa/fabrics/layout.c
@@ -1037,7 +1037,7 @@ static int aoa_fabric_layout_probe(struc
}
ldev->selfptr_headphone.ptr = ldev;
ldev->selfptr_lineout.ptr = ldev;
- sdev->ofdev.dev.driver_data = ldev;
+ dev_set_drvdata(&sdev->ofdev.dev, ldev);
list_add(&ldev->list, &layouts_list);
layouts_list_items++;
@@ -1081,7 +1081,7 @@ static int aoa_fabric_layout_probe(struc
static int aoa_fabric_layout_remove(struct soundbus_dev *sdev)
{
- struct layout_dev *ldev = sdev->ofdev.dev.driver_data;
+ struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev);
int i;
for (i=0; i<MAX_CODECS_PER_BUS; i++) {
@@ -1114,7 +1114,7 @@ static int aoa_fabric_layout_remove(stru
#ifdef CONFIG_PM
static int aoa_fabric_layout_suspend(struct soundbus_dev *sdev, pm_message_t state)
{
- struct layout_dev *ldev = sdev->ofdev.dev.driver_data;
+ struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev);
if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off)
ldev->gpio.methods->all_amps_off(&ldev->gpio);
@@ -1124,7 +1124,7 @@ static int aoa_fabric_layout_suspend(str
static int aoa_fabric_layout_resume(struct soundbus_dev *sdev)
{
- struct layout_dev *ldev = sdev->ofdev.dev.driver_data;
+ struct layout_dev *ldev = dev_get_drvdata(&sdev->ofdev.dev);
if (ldev->gpio.methods && ldev->gpio.methods->all_amps_off)
ldev->gpio.methods->all_amps_restore(&ldev->gpio);
--- a/sound/aoa/soundbus/i2sbus/core.c
+++ b/sound/aoa/soundbus/i2sbus/core.c
@@ -358,14 +358,14 @@ static int i2sbus_probe(struct macio_dev
return -ENODEV;
}
- dev->ofdev.dev.driver_data = control;
+ dev_set_drvdata(&dev->ofdev.dev, control);
return 0;
}
static int i2sbus_remove(struct macio_dev* dev)
{
- struct i2sbus_control *control = dev->ofdev.dev.driver_data;
+ struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
struct i2sbus_dev *i2sdev, *tmp;
list_for_each_entry_safe(i2sdev, tmp, &control->list, item)
@@ -377,7 +377,7 @@ static int i2sbus_remove(struct macio_de
#ifdef CONFIG_PM
static int i2sbus_suspend(struct macio_dev* dev, pm_message_t state)
{
- struct i2sbus_control *control = dev->ofdev.dev.driver_data;
+ struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
struct codec_info_item *cii;
struct i2sbus_dev* i2sdev;
int err, ret = 0;
@@ -407,7 +407,7 @@ static int i2sbus_suspend(struct macio_d
static int i2sbus_resume(struct macio_dev* dev)
{
- struct i2sbus_control *control = dev->ofdev.dev.driver_data;
+ struct i2sbus_control *control = dev_get_drvdata(&dev->ofdev.dev);
struct codec_info_item *cii;
struct i2sbus_dev* i2sdev;
int err, ret = 0;
--- a/sound/soc/codecs/wm8400.c
+++ b/sound/soc/codecs/wm8400.c
@@ -1473,8 +1473,8 @@ static int wm8400_codec_probe(struct pla
codec = &priv->codec;
codec->private_data = priv;
- codec->control_data = dev->dev.driver_data;
- priv->wm8400 = dev->dev.driver_data;
+ codec->control_data = dev_get_drvdata(&dev->dev);
+ priv->wm8400 = dev_get_drvdata(&dev->dev);
ret = regulator_bulk_get(priv->wm8400->dev,
ARRAY_SIZE(power), &power[0]);
--- a/sound/soc/codecs/wm8731.c
+++ b/sound/soc/codecs/wm8731.c
@@ -666,14 +666,14 @@ static int __devinit wm8731_spi_probe(st
codec->hw_write = (hw_write_t)wm8731_spi_write;
codec->dev = &spi->dev;
- spi->dev.driver_data = wm8731;
+ dev_set_drvdata(&spi->dev, wm8731);
return wm8731_register(wm8731);
}
static int __devexit wm8731_spi_remove(struct spi_device *spi)
{
- struct wm8731_priv *wm8731 = spi->dev.driver_data;
+ struct wm8731_priv *wm8731 = dev_get_drvdata(&spi->dev);
wm8731_unregister(wm8731);
--- a/sound/soc/codecs/wm8753.c
+++ b/sound/soc/codecs/wm8753.c
@@ -1822,14 +1822,14 @@ static int __devinit wm8753_spi_probe(st
codec->hw_write = (hw_write_t)wm8753_spi_write;
codec->dev = &spi->dev;
- spi->dev.driver_data = wm8753;
+ dev_set_drvdata(&spi->dev, wm8753);
return wm8753_register(wm8753);
}
static int __devexit wm8753_spi_remove(struct spi_device *spi)
{
- struct wm8753_priv *wm8753 = spi->dev.driver_data;
+ struct wm8753_priv *wm8753 = dev_get_drvdata(&spi->dev);
wm8753_unregister(wm8753);
return 0;
}
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] sound: remove driver_data direct access of struct device
2009-05-04 20:19 [PATCH] sound: remove driver_data direct access of struct device Greg Kroah-Hartman
@ 2009-05-04 20:34 ` Mark Brown
2009-05-04 20:39 ` Greg KH
0 siblings, 1 reply; 3+ messages in thread
From: Mark Brown @ 2009-05-04 20:34 UTC (permalink / raw)
To: Greg Kroah-Hartman
Cc: Takashi Iwai, Greg KH, Jaroslav Kysela, linuxppc-dev, Ian Molton,
Philipp Zabel, Jean Delvare, Johannes Berg, Timur Tabi,
Liam Girdwood
On Mon, May 04, 2009 at 01:19:36PM -0700, Greg Kroah-Hartman wrote:
> From: Greg Kroah-Hartman <gregkh@suse.de>
>
> 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: Takashi Iwai <tiwai@suse.de>
Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH] sound: remove driver_data direct access of struct device
2009-05-04 20:34 ` Mark Brown
@ 2009-05-04 20:39 ` Greg KH
0 siblings, 0 replies; 3+ messages in thread
From: Greg KH @ 2009-05-04 20:39 UTC (permalink / raw)
To: Mark Brown
Cc: Takashi Iwai, Greg KH, Jaroslav Kysela, linuxppc-dev, Ian Molton,
Philipp Zabel, Jean Delvare, Johannes Berg, Timur Tabi,
Liam Girdwood
On Mon, May 04, 2009 at 09:34:10PM +0100, Mark Brown wrote:
> On Mon, May 04, 2009 at 01:19:36PM -0700, Greg Kroah-Hartman wrote:
> > From: Greg Kroah-Hartman <gregkh@suse.de>
> >
> > 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: Takashi Iwai <tiwai@suse.de>
>
> Acked-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Thanks, added it to the patch.
greg k-h
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2009-05-04 20:45 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-04 20:19 [PATCH] sound: remove driver_data direct access of struct device Greg Kroah-Hartman
2009-05-04 20:34 ` Mark Brown
2009-05-04 20:39 ` Greg KH
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).