Skip to content

Commit

Permalink
gpio: tc3589x: get rid of platform data
Browse files Browse the repository at this point in the history
This device is only used from the device tree, and the startup()
and remove() callbacks are not used anywhere in the kernel, so
retire them and the pdata altogether.

Cc: Samuel Ortiz <[email protected]>
Acked-by: Lee Jones <[email protected]>
Signed-off-by: Linus Walleij <[email protected]>
  • Loading branch information
linusw committed Jan 15, 2015
1 parent 5b6a342 commit 53e41f5
Show file tree
Hide file tree
Showing 2 changed files with 2 additions and 25 deletions.
15 changes: 2 additions & 13 deletions drivers/gpio/gpio-tc3589x.c
Original file line number Diff line number Diff line change
Expand Up @@ -232,16 +232,13 @@ static irqreturn_t tc3589x_gpio_irq(int irq, void *dev)
static int tc3589x_gpio_probe(struct platform_device *pdev)
{
struct tc3589x *tc3589x = dev_get_drvdata(pdev->dev.parent);
struct tc3589x_gpio_platform_data *pdata;
struct device_node *np = pdev->dev.of_node;
struct tc3589x_gpio *tc3589x_gpio;
int ret;
int irq;

pdata = tc3589x->pdata->gpio;

if (!(pdata || np)) {
dev_err(&pdev->dev, "No platform data or Device Tree found\n");
if (!np) {
dev_err(&pdev->dev, "No Device Tree node found\n");
return -EINVAL;
}

Expand Down Expand Up @@ -305,9 +302,6 @@ static int tc3589x_gpio_probe(struct platform_device *pdev)
irq,
NULL);

if (pdata && pdata->setup)
pdata->setup(tc3589x, tc3589x_gpio->chip.base);

platform_set_drvdata(pdev, tc3589x_gpio);

return 0;
Expand All @@ -316,11 +310,6 @@ static int tc3589x_gpio_probe(struct platform_device *pdev)
static int tc3589x_gpio_remove(struct platform_device *pdev)
{
struct tc3589x_gpio *tc3589x_gpio = platform_get_drvdata(pdev);
struct tc3589x *tc3589x = tc3589x_gpio->tc3589x;
struct tc3589x_gpio_platform_data *pdata = tc3589x->pdata->gpio;

if (pdata && pdata->remove)
pdata->remove(tc3589x, tc3589x_gpio->chip.base);

gpiochip_remove(&tc3589x_gpio->chip);

Expand Down
12 changes: 0 additions & 12 deletions include/linux/mfd/tc3589x.h
Original file line number Diff line number Diff line change
Expand Up @@ -162,25 +162,13 @@ struct tc3589x_keypad_platform_data {
bool no_autorepeat;
};

/**
* struct tc3589x_gpio_platform_data - TC3589x GPIO platform data
* @setup: callback for board-specific initialization
* @remove: callback for board-specific teardown
*/
struct tc3589x_gpio_platform_data {
void (*setup)(struct tc3589x *tc3589x, unsigned gpio_base);
void (*remove)(struct tc3589x *tc3589x, unsigned gpio_base);
};

/**
* struct tc3589x_platform_data - TC3589x platform data
* @block: bitmask of blocks to enable (use TC3589x_BLOCK_*)
* @gpio: GPIO-specific platform data
* @keypad: keypad-specific platform data
*/
struct tc3589x_platform_data {
unsigned int block;
struct tc3589x_gpio_platform_data *gpio;
const struct tc3589x_keypad_platform_data *keypad;
};

Expand Down

0 comments on commit 53e41f5

Please sign in to comment.