Re: [PATCH 1/4 v2] gpio/tc3589x: convert to use the simple irqdomain
On Fri, 19 Oct 2012 12:53:45 +0200, Linus Walleij wrote: > The special checks for whether we have a base IRQ offset or not > is surplus if we use the simple IRQ domain. The IRQ offset > zero will be interpreted as a linear domain case. > > Plus this makes sure we allocate descriptors where need be, or > warn if they are preallocated with SPARSE_IRQ. > > Cc: Grant Likely > Cc: Rob Herring > Cc: Lee Jones > Signed-off-by: Linus Walleij Applied, thanks. g. > --- > ChangeLog v1->v2: add a comment that explains what is going on, > it fooled me so it could fool somebody else too. > --- > drivers/gpio/gpio-tc3589x.c | 20 +--- > 1 file changed, 9 insertions(+), 11 deletions(-) > > diff --git a/drivers/gpio/gpio-tc3589x.c b/drivers/gpio/gpio-tc3589x.c > index 1e48317..8c8447c 100644 > --- a/drivers/gpio/gpio-tc3589x.c > +++ b/drivers/gpio/gpio-tc3589x.c > @@ -292,17 +292,15 @@ static int tc3589x_gpio_irq_init(struct tc3589x_gpio > *tc3589x_gpio, > { > int base = tc3589x_gpio->irq_base; > > - if (base) { > - tc3589x_gpio->domain = irq_domain_add_legacy( > - NULL, tc3589x_gpio->chip.ngpio, base, > - 0, _irq_ops, tc3589x_gpio); > - } > - else { > - tc3589x_gpio->domain = irq_domain_add_linear( > - np, tc3589x_gpio->chip.ngpio, > - _irq_ops, tc3589x_gpio); > - } > - > + /* > + * If this results in a linear domain, irq_create_mapping() will > + * take care of allocating IRQ descriptors at runtime. When a base > + * is provided, the IRQ descriptors will be allocated when the > + * domain is instantiated. > + */ > + tc3589x_gpio->domain = irq_domain_add_simple(np, > + tc3589x_gpio->chip.ngpio, base, _irq_ops, > + tc3589x_gpio); > if (!tc3589x_gpio->domain) { > dev_err(tc3589x_gpio->dev, "Failed to create irqdomain\n"); > return -ENOSYS; > -- > 1.7.11.7 > -- Grant Likely, B.Sc, P.Eng. Secret Lab Technologies, Ltd. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Re: [PATCH 1/4 v2] gpio/tc3589x: convert to use the simple irqdomain
On Fri, 19 Oct 2012 12:53:45 +0200, Linus Walleij linus.wall...@linaro.org wrote: The special checks for whether we have a base IRQ offset or not is surplus if we use the simple IRQ domain. The IRQ offset zero will be interpreted as a linear domain case. Plus this makes sure we allocate descriptors where need be, or warn if they are preallocated with SPARSE_IRQ. Cc: Grant Likely grant.lik...@secretlab.ca Cc: Rob Herring rob.herr...@calxeda.com Cc: Lee Jones lee.jo...@linaro.org Signed-off-by: Linus Walleij linus.wall...@linaro.org Applied, thanks. g. --- ChangeLog v1-v2: add a comment that explains what is going on, it fooled me so it could fool somebody else too. --- drivers/gpio/gpio-tc3589x.c | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-tc3589x.c b/drivers/gpio/gpio-tc3589x.c index 1e48317..8c8447c 100644 --- a/drivers/gpio/gpio-tc3589x.c +++ b/drivers/gpio/gpio-tc3589x.c @@ -292,17 +292,15 @@ static int tc3589x_gpio_irq_init(struct tc3589x_gpio *tc3589x_gpio, { int base = tc3589x_gpio-irq_base; - if (base) { - tc3589x_gpio-domain = irq_domain_add_legacy( - NULL, tc3589x_gpio-chip.ngpio, base, - 0, tc3589x_irq_ops, tc3589x_gpio); - } - else { - tc3589x_gpio-domain = irq_domain_add_linear( - np, tc3589x_gpio-chip.ngpio, - tc3589x_irq_ops, tc3589x_gpio); - } - + /* + * If this results in a linear domain, irq_create_mapping() will + * take care of allocating IRQ descriptors at runtime. When a base + * is provided, the IRQ descriptors will be allocated when the + * domain is instantiated. + */ + tc3589x_gpio-domain = irq_domain_add_simple(np, + tc3589x_gpio-chip.ngpio, base, tc3589x_irq_ops, + tc3589x_gpio); if (!tc3589x_gpio-domain) { dev_err(tc3589x_gpio-dev, Failed to create irqdomain\n); return -ENOSYS; -- 1.7.11.7 -- Grant Likely, B.Sc, P.Eng. Secret Lab Technologies, Ltd. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/4 v2] gpio/tc3589x: convert to use the simple irqdomain
The special checks for whether we have a base IRQ offset or not is surplus if we use the simple IRQ domain. The IRQ offset zero will be interpreted as a linear domain case. Plus this makes sure we allocate descriptors where need be, or warn if they are preallocated with SPARSE_IRQ. Cc: Grant Likely Cc: Rob Herring Cc: Lee Jones Signed-off-by: Linus Walleij --- ChangeLog v1->v2: add a comment that explains what is going on, it fooled me so it could fool somebody else too. --- drivers/gpio/gpio-tc3589x.c | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-tc3589x.c b/drivers/gpio/gpio-tc3589x.c index 1e48317..8c8447c 100644 --- a/drivers/gpio/gpio-tc3589x.c +++ b/drivers/gpio/gpio-tc3589x.c @@ -292,17 +292,15 @@ static int tc3589x_gpio_irq_init(struct tc3589x_gpio *tc3589x_gpio, { int base = tc3589x_gpio->irq_base; - if (base) { - tc3589x_gpio->domain = irq_domain_add_legacy( - NULL, tc3589x_gpio->chip.ngpio, base, - 0, _irq_ops, tc3589x_gpio); - } - else { - tc3589x_gpio->domain = irq_domain_add_linear( - np, tc3589x_gpio->chip.ngpio, - _irq_ops, tc3589x_gpio); - } - + /* +* If this results in a linear domain, irq_create_mapping() will +* take care of allocating IRQ descriptors at runtime. When a base +* is provided, the IRQ descriptors will be allocated when the +* domain is instantiated. +*/ + tc3589x_gpio->domain = irq_domain_add_simple(np, + tc3589x_gpio->chip.ngpio, base, _irq_ops, + tc3589x_gpio); if (!tc3589x_gpio->domain) { dev_err(tc3589x_gpio->dev, "Failed to create irqdomain\n"); return -ENOSYS; -- 1.7.11.7 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[PATCH 1/4 v2] gpio/tc3589x: convert to use the simple irqdomain
The special checks for whether we have a base IRQ offset or not is surplus if we use the simple IRQ domain. The IRQ offset zero will be interpreted as a linear domain case. Plus this makes sure we allocate descriptors where need be, or warn if they are preallocated with SPARSE_IRQ. Cc: Grant Likely grant.lik...@secretlab.ca Cc: Rob Herring rob.herr...@calxeda.com Cc: Lee Jones lee.jo...@linaro.org Signed-off-by: Linus Walleij linus.wall...@linaro.org --- ChangeLog v1-v2: add a comment that explains what is going on, it fooled me so it could fool somebody else too. --- drivers/gpio/gpio-tc3589x.c | 20 +--- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/drivers/gpio/gpio-tc3589x.c b/drivers/gpio/gpio-tc3589x.c index 1e48317..8c8447c 100644 --- a/drivers/gpio/gpio-tc3589x.c +++ b/drivers/gpio/gpio-tc3589x.c @@ -292,17 +292,15 @@ static int tc3589x_gpio_irq_init(struct tc3589x_gpio *tc3589x_gpio, { int base = tc3589x_gpio-irq_base; - if (base) { - tc3589x_gpio-domain = irq_domain_add_legacy( - NULL, tc3589x_gpio-chip.ngpio, base, - 0, tc3589x_irq_ops, tc3589x_gpio); - } - else { - tc3589x_gpio-domain = irq_domain_add_linear( - np, tc3589x_gpio-chip.ngpio, - tc3589x_irq_ops, tc3589x_gpio); - } - + /* +* If this results in a linear domain, irq_create_mapping() will +* take care of allocating IRQ descriptors at runtime. When a base +* is provided, the IRQ descriptors will be allocated when the +* domain is instantiated. +*/ + tc3589x_gpio-domain = irq_domain_add_simple(np, + tc3589x_gpio-chip.ngpio, base, tc3589x_irq_ops, + tc3589x_gpio); if (!tc3589x_gpio-domain) { dev_err(tc3589x_gpio-dev, Failed to create irqdomain\n); return -ENOSYS; -- 1.7.11.7 -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/