gpio: spear-spics: use gpiochip data pointer
This makes the driver use the data pointer added to the gpio_chip to store a pointer to the state container instead of relying on container_of(). Cc: Shiraz Hashim <shiraz.linux.kernel@gmail.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
parent
8ca7f1fab8
commit
c0ad184adb
@ -62,8 +62,7 @@ static int spics_get_value(struct gpio_chip *chip, unsigned offset)
|
|||||||
|
|
||||||
static void spics_set_value(struct gpio_chip *chip, unsigned offset, int value)
|
static void spics_set_value(struct gpio_chip *chip, unsigned offset, int value)
|
||||||
{
|
{
|
||||||
struct spear_spics *spics = container_of(chip, struct spear_spics,
|
struct spear_spics *spics = gpiochip_get_data(chip);
|
||||||
chip);
|
|
||||||
u32 tmp;
|
u32 tmp;
|
||||||
|
|
||||||
/* select chip select from register */
|
/* select chip select from register */
|
||||||
@ -94,8 +93,7 @@ static int spics_direction_output(struct gpio_chip *chip, unsigned offset,
|
|||||||
|
|
||||||
static int spics_request(struct gpio_chip *chip, unsigned offset)
|
static int spics_request(struct gpio_chip *chip, unsigned offset)
|
||||||
{
|
{
|
||||||
struct spear_spics *spics = container_of(chip, struct spear_spics,
|
struct spear_spics *spics = gpiochip_get_data(chip);
|
||||||
chip);
|
|
||||||
u32 tmp;
|
u32 tmp;
|
||||||
|
|
||||||
if (!spics->use_count++) {
|
if (!spics->use_count++) {
|
||||||
@ -110,8 +108,7 @@ static int spics_request(struct gpio_chip *chip, unsigned offset)
|
|||||||
|
|
||||||
static void spics_free(struct gpio_chip *chip, unsigned offset)
|
static void spics_free(struct gpio_chip *chip, unsigned offset)
|
||||||
{
|
{
|
||||||
struct spear_spics *spics = container_of(chip, struct spear_spics,
|
struct spear_spics *spics = gpiochip_get_data(chip);
|
||||||
chip);
|
|
||||||
u32 tmp;
|
u32 tmp;
|
||||||
|
|
||||||
if (!--spics->use_count) {
|
if (!--spics->use_count) {
|
||||||
@ -168,7 +165,7 @@ static int spics_gpio_probe(struct platform_device *pdev)
|
|||||||
spics->chip.owner = THIS_MODULE;
|
spics->chip.owner = THIS_MODULE;
|
||||||
spics->last_off = -1;
|
spics->last_off = -1;
|
||||||
|
|
||||||
ret = gpiochip_add(&spics->chip);
|
ret = gpiochip_add_data(&spics->chip, spics);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
dev_err(&pdev->dev, "unable to add gpio chip\n");
|
dev_err(&pdev->dev, "unable to add gpio chip\n");
|
||||||
return ret;
|
return ret;
|
||||||
|
Loading…
Reference in New Issue
Block a user