gpio: mockup: pass the named_lines parameter over platform_data

Move the last bits of code dealing with module parameters to the init
function. Add a new variable to platform data, which indicates to the
probe function if it should name the GPIO lines. If we ever want to
make the line naming more fine-grained (e.g. per chip switch) it will
be easier this way.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Bartosz Golaszewski 2017-11-27 11:48:44 +01:00 committed by Linus Walleij
parent 6d974d3291
commit c3196a7828
1 changed files with 3 additions and 1 deletions

View File

@ -68,6 +68,7 @@ struct gpio_mockup_platform_data {
int base; int base;
int ngpio; int ngpio;
int index; int index;
bool named_lines;
}; };
static int gpio_mockup_ranges[GPIO_MOCKUP_MAX_RANGES]; static int gpio_mockup_ranges[GPIO_MOCKUP_MAX_RANGES];
@ -272,7 +273,7 @@ static int gpio_mockup_probe(struct platform_device *pdev)
if (!chip->lines) if (!chip->lines)
return -ENOMEM; return -ENOMEM;
if (gpio_mockup_named_lines) { if (pdata->named_lines) {
rv = gpio_mockup_name_lines(dev, chip); rv = gpio_mockup_name_lines(dev, chip);
if (rv) if (rv)
return rv; return rv;
@ -344,6 +345,7 @@ static int __init gpio_mockup_init(void)
pdata.ngpio = pdata.base < 0 pdata.ngpio = pdata.base < 0
? gpio_mockup_ranges[i * 2 + 1] ? gpio_mockup_ranges[i * 2 + 1]
: gpio_mockup_ranges[i * 2 + 1] - pdata.base; : gpio_mockup_ranges[i * 2 + 1] - pdata.base;
pdata.named_lines = gpio_mockup_named_lines;
pdev = platform_device_register_resndata(NULL, pdev = platform_device_register_resndata(NULL,
GPIO_MOCKUP_NAME, GPIO_MOCKUP_NAME,