mirror of https://gitee.com/openkylin/linux.git
gpiolib: i2c/spi drivers: handle rmmod better
Use the newly introduced owner field in struct gpio_chip to protect the current (small) set of non-SOC GPIO drivers from being unloaded while any of their GPIOs are in use. Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@pengutronix.de> [ add mcp23s08 and pcf857x ] Signed-off-by: David Brownell <dbrownell@users.sourceforge.net> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
438d8908b3
commit
d72cbed0c4
|
@ -239,6 +239,7 @@ static int mcp23s08_probe(struct spi_device *spi)
|
|||
mcp->chip.base = pdata->base;
|
||||
mcp->chip.ngpio = 8;
|
||||
mcp->chip.can_sleep = 1;
|
||||
mcp->chip.owner = THIS_MODULE;
|
||||
|
||||
spi_set_drvdata(spi, mcp);
|
||||
|
||||
|
|
|
@ -189,6 +189,7 @@ static void pca953x_setup_gpio(struct pca953x_chip *chip, int gpios)
|
|||
gc->base = chip->gpio_start;
|
||||
gc->ngpio = gpios;
|
||||
gc->label = chip->client->name;
|
||||
gc->owner = THIS_MODULE;
|
||||
}
|
||||
|
||||
static int __devinit pca953x_probe(struct i2c_client *client)
|
||||
|
|
|
@ -159,6 +159,7 @@ static int pcf857x_probe(struct i2c_client *client)
|
|||
|
||||
gpio->chip.base = pdata->gpio_base;
|
||||
gpio->chip.can_sleep = 1;
|
||||
gpio->chip.owner = THIS_MODULE;
|
||||
|
||||
/* NOTE: the OnSemi jlc1562b is also largely compatible with
|
||||
* these parts, notably for output. It has a low-resolution
|
||||
|
|
Loading…
Reference in New Issue