mirror of
https://github.com/torvalds/linux.git
synced 2024-11-22 20:22:09 +00:00
gpio: ich: Switch to use struct device instead of platform_device
There is no need to have a pointer to struct platform_device. Instead, switch to use struct device one. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
This commit is contained in:
parent
c5aaa31681
commit
ff4709b44c
@ -100,7 +100,7 @@ struct ichx_desc {
|
|||||||
|
|
||||||
static struct {
|
static struct {
|
||||||
spinlock_t lock;
|
spinlock_t lock;
|
||||||
struct platform_device *dev;
|
struct device *dev;
|
||||||
struct gpio_chip chip;
|
struct gpio_chip chip;
|
||||||
struct resource *gpio_base; /* GPIO IO base */
|
struct resource *gpio_base; /* GPIO IO base */
|
||||||
struct resource *pm_base; /* Power Mangagment IO base */
|
struct resource *pm_base; /* Power Mangagment IO base */
|
||||||
@ -275,7 +275,7 @@ static void ichx_gpiolib_setup(struct gpio_chip *chip)
|
|||||||
{
|
{
|
||||||
chip->owner = THIS_MODULE;
|
chip->owner = THIS_MODULE;
|
||||||
chip->label = DRV_NAME;
|
chip->label = DRV_NAME;
|
||||||
chip->parent = &ichx_priv.dev->dev;
|
chip->parent = ichx_priv.dev;
|
||||||
|
|
||||||
/* Allow chip-specific overrides of request()/get() */
|
/* Allow chip-specific overrides of request()/get() */
|
||||||
chip->request = ichx_priv.desc->request ?
|
chip->request = ichx_priv.desc->request ?
|
||||||
@ -398,15 +398,14 @@ static int ichx_gpio_request_regions(struct device *dev,
|
|||||||
|
|
||||||
static int ichx_gpio_probe(struct platform_device *pdev)
|
static int ichx_gpio_probe(struct platform_device *pdev)
|
||||||
{
|
{
|
||||||
|
struct device *dev = &pdev->dev;
|
||||||
|
struct lpc_ich_info *ich_info = dev_get_platdata(dev);
|
||||||
struct resource *res_base, *res_pm;
|
struct resource *res_base, *res_pm;
|
||||||
int err;
|
int err;
|
||||||
struct lpc_ich_info *ich_info = dev_get_platdata(&pdev->dev);
|
|
||||||
|
|
||||||
if (!ich_info)
|
if (!ich_info)
|
||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
|
|
||||||
ichx_priv.dev = pdev;
|
|
||||||
|
|
||||||
switch (ich_info->gpio_version) {
|
switch (ich_info->gpio_version) {
|
||||||
case ICH_I3100_GPIO:
|
case ICH_I3100_GPIO:
|
||||||
ichx_priv.desc = &i3100_desc;
|
ichx_priv.desc = &i3100_desc;
|
||||||
@ -436,15 +435,17 @@ static int ichx_gpio_probe(struct platform_device *pdev)
|
|||||||
return -ENODEV;
|
return -ENODEV;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ichx_priv.dev = dev;
|
||||||
spin_lock_init(&ichx_priv.lock);
|
spin_lock_init(&ichx_priv.lock);
|
||||||
|
|
||||||
res_base = platform_get_resource(pdev, IORESOURCE_IO, ICH_RES_GPIO);
|
res_base = platform_get_resource(pdev, IORESOURCE_IO, ICH_RES_GPIO);
|
||||||
ichx_priv.use_gpio = ich_info->use_gpio;
|
err = ichx_gpio_request_regions(dev, res_base, pdev->name,
|
||||||
err = ichx_gpio_request_regions(&pdev->dev, res_base, pdev->name,
|
ich_info->use_gpio);
|
||||||
ichx_priv.use_gpio);
|
|
||||||
if (err)
|
if (err)
|
||||||
return err;
|
return err;
|
||||||
|
|
||||||
ichx_priv.gpio_base = res_base;
|
ichx_priv.gpio_base = res_base;
|
||||||
|
ichx_priv.use_gpio = ich_info->use_gpio;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If necessary, determine the I/O address of ACPI/power management
|
* If necessary, determine the I/O address of ACPI/power management
|
||||||
@ -460,8 +461,8 @@ static int ichx_gpio_probe(struct platform_device *pdev)
|
|||||||
goto init;
|
goto init;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!devm_request_region(&pdev->dev, res_pm->start,
|
if (!devm_request_region(dev, res_pm->start, resource_size(res_pm),
|
||||||
resource_size(res_pm), pdev->name)) {
|
pdev->name)) {
|
||||||
pr_warn("ACPI BAR is busy, GPI 0 - 15 unavailable\n");
|
pr_warn("ACPI BAR is busy, GPI 0 - 15 unavailable\n");
|
||||||
goto init;
|
goto init;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user