* [PATCH] genirq: provide dummy set_irq_wake() @ 2015-03-30 13:15 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-03-30 13:15 UTC (permalink / raw) To: tglx Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel, Roger Quadros Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) http://article.gmane.org/gmane.linux.kernel/1879035 Signed-off-by: Roger Quadros <rogerq@ti.com> --- kernel/irq/dummychip.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2405d7a 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) return 0; } +static int noop_int_ret(struct irq_data *data, unsigned int val) +{ + return 0; +} + /* * Generic no controller implementation */ @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .irq_set_wake = noop_int_ret, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); -- 2.1.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH] genirq: provide dummy set_irq_wake() @ 2015-03-30 13:15 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-03-30 13:15 UTC (permalink / raw) To: tglx Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel, Roger Quadros Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) http://article.gmane.org/gmane.linux.kernel/1879035 Signed-off-by: Roger Quadros <rogerq@ti.com> --- kernel/irq/dummychip.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2405d7a 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) return 0; } +static int noop_int_ret(struct irq_data *data, unsigned int val) +{ + return 0; +} + /* * Generic no controller implementation */ @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .irq_set_wake = noop_int_ret, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); -- 2.1.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() 2015-03-30 13:15 ` Roger Quadros @ 2015-03-30 18:06 ` Felipe Balbi -1 siblings, 0 replies; 21+ messages in thread From: Felipe Balbi @ 2015-03-30 18:06 UTC (permalink / raw) To: Roger Quadros Cc: tglx, cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel [-- Attachment #1: Type: text/plain, Size: 866 bytes --] On Mon, Mar 30, 2015 at 04:15:45PM +0300, Roger Quadros wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. > (e.g. drivers/gpio/gpio-pcf857x.c) > > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq@ti.com> > --- > kernel/irq/dummychip.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2405d7a 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) > return 0; > } > > +static int noop_int_ret(struct irq_data *data, unsigned int val) > +{ > + return 0; > +} > + isn't this the same as noop_ret ? -- balbi [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() @ 2015-03-30 18:06 ` Felipe Balbi 0 siblings, 0 replies; 21+ messages in thread From: Felipe Balbi @ 2015-03-30 18:06 UTC (permalink / raw) To: Roger Quadros Cc: tglx, cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel [-- Attachment #1: Type: text/plain, Size: 866 bytes --] On Mon, Mar 30, 2015 at 04:15:45PM +0300, Roger Quadros wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. > (e.g. drivers/gpio/gpio-pcf857x.c) > > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq@ti.com> > --- > kernel/irq/dummychip.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2405d7a 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) > return 0; > } > > +static int noop_int_ret(struct irq_data *data, unsigned int val) > +{ > + return 0; > +} > + isn't this the same as noop_ret ? -- balbi [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() 2015-03-30 18:06 ` Felipe Balbi @ 2015-03-30 18:06 ` Felipe Balbi -1 siblings, 0 replies; 21+ messages in thread From: Felipe Balbi @ 2015-03-30 18:06 UTC (permalink / raw) To: Felipe Balbi Cc: Roger Quadros, tglx, cw00.choi, tony, linux-usb, linux-omap, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1019 bytes --] On Mon, Mar 30, 2015 at 01:06:24PM -0500, Felipe Balbi wrote: > On Mon, Mar 30, 2015 at 04:15:45PM +0300, Roger Quadros wrote: > > Without this system suspend is broken on systems that have > > drivers calling enable/disable_irq_wake() for interrupts based off > > the dummy irq hook. > > (e.g. drivers/gpio/gpio-pcf857x.c) > > > > http://article.gmane.org/gmane.linux.kernel/1879035 > > > > Signed-off-by: Roger Quadros <rogerq@ti.com> > > --- > > kernel/irq/dummychip.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > > index 988dc58..2405d7a 100644 > > --- a/kernel/irq/dummychip.c > > +++ b/kernel/irq/dummychip.c > > @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) > > return 0; > > } > > > > +static int noop_int_ret(struct irq_data *data, unsigned int val) > > +{ > > + return 0; > > +} > > + > > isn't this the same as noop_ret ? oh no, unsigned versus signed. -- balbi [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() @ 2015-03-30 18:06 ` Felipe Balbi 0 siblings, 0 replies; 21+ messages in thread From: Felipe Balbi @ 2015-03-30 18:06 UTC (permalink / raw) To: Felipe Balbi Cc: Roger Quadros, tglx, cw00.choi, tony, linux-usb, linux-omap, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1019 bytes --] On Mon, Mar 30, 2015 at 01:06:24PM -0500, Felipe Balbi wrote: > On Mon, Mar 30, 2015 at 04:15:45PM +0300, Roger Quadros wrote: > > Without this system suspend is broken on systems that have > > drivers calling enable/disable_irq_wake() for interrupts based off > > the dummy irq hook. > > (e.g. drivers/gpio/gpio-pcf857x.c) > > > > http://article.gmane.org/gmane.linux.kernel/1879035 > > > > Signed-off-by: Roger Quadros <rogerq@ti.com> > > --- > > kernel/irq/dummychip.c | 6 ++++++ > > 1 file changed, 6 insertions(+) > > > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > > index 988dc58..2405d7a 100644 > > --- a/kernel/irq/dummychip.c > > +++ b/kernel/irq/dummychip.c > > @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) > > return 0; > > } > > > > +static int noop_int_ret(struct irq_data *data, unsigned int val) > > +{ > > + return 0; > > +} > > + > > isn't this the same as noop_ret ? oh no, unsigned versus signed. -- balbi [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 819 bytes --] ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() 2015-03-30 13:15 ` Roger Quadros @ 2015-04-14 10:13 ` Roger Quadros -1 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-04-14 10:13 UTC (permalink / raw) To: tglx; +Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel Hi Thomas, On 30/03/15 16:15, Roger Quadros wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. > (e.g. drivers/gpio/gpio-pcf857x.c) > > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq@ti.com> Any comments on this patch? cheers, -roger > --- > kernel/irq/dummychip.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2405d7a 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) > return 0; > } > > +static int noop_int_ret(struct irq_data *data, unsigned int val) > +{ > + return 0; > +} > + > /* > * Generic no controller implementation > */ > @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .irq_set_wake = noop_int_ret, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); > ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() @ 2015-04-14 10:13 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-04-14 10:13 UTC (permalink / raw) To: tglx; +Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel Hi Thomas, On 30/03/15 16:15, Roger Quadros wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. > (e.g. drivers/gpio/gpio-pcf857x.c) > > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq@ti.com> Any comments on this patch? cheers, -roger > --- > kernel/irq/dummychip.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2405d7a 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) > return 0; > } > > +static int noop_int_ret(struct irq_data *data, unsigned int val) > +{ > + return 0; > +} > + > /* > * Generic no controller implementation > */ > @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .irq_set_wake = noop_int_ret, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); > ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() 2015-04-14 10:13 ` Roger Quadros (?) @ 2015-04-14 14:02 ` Gregory CLEMENT 2015-04-15 8:07 ` Roger Quadros -1 siblings, 1 reply; 21+ messages in thread From: Gregory CLEMENT @ 2015-04-14 14:02 UTC (permalink / raw) To: Roger Quadros Cc: tglx, cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel Hi Roger, On 14/04/2015 12:13, Roger Quadros wrote: > Hi Thomas, > > On 30/03/15 16:15, Roger Quadros wrote: >> Without this system suspend is broken on systems that have >> drivers calling enable/disable_irq_wake() for interrupts based off >> the dummy irq hook. >> (e.g. drivers/gpio/gpio-pcf857x.c) >> >> http://article.gmane.org/gmane.linux.kernel/1879035 >> >> Signed-off-by: Roger Quadros <rogerq@ti.com> > > Any comments on this patch? I read the url you pointed and I wonder why, at then end, did you choose to add a dummy set_irq_wake() instead of using IRQCHIP_SKIP_SET_WAKE ? Thanks, Gregory > > cheers, > -roger > >> --- >> kernel/irq/dummychip.c | 6 ++++++ >> 1 file changed, 6 insertions(+) >> >> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >> index 988dc58..2405d7a 100644 >> --- a/kernel/irq/dummychip.c >> +++ b/kernel/irq/dummychip.c >> @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) >> return 0; >> } >> >> +static int noop_int_ret(struct irq_data *data, unsigned int val) >> +{ >> + return 0; >> +} >> + >> /* >> * Generic no controller implementation >> */ >> @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { >> .irq_ack = noop, >> .irq_mask = noop, >> .irq_unmask = noop, >> + .irq_set_wake = noop_int_ret, >> }; >> EXPORT_SYMBOL_GPL(dummy_irq_chip); >> > > -- > To unsubscribe from this list: send the line "unsubscribe linux-usb" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() 2015-04-14 14:02 ` Gregory CLEMENT @ 2015-04-15 8:07 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-04-15 8:07 UTC (permalink / raw) To: Gregory CLEMENT Cc: tglx, cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel Hi Gregory, On 14/04/15 17:02, Gregory CLEMENT wrote: > Hi Roger, > > On 14/04/2015 12:13, Roger Quadros wrote: >> Hi Thomas, >> >> On 30/03/15 16:15, Roger Quadros wrote: >>> Without this system suspend is broken on systems that have >>> drivers calling enable/disable_irq_wake() for interrupts based off >>> the dummy irq hook. >>> (e.g. drivers/gpio/gpio-pcf857x.c) >>> >>> http://article.gmane.org/gmane.linux.kernel/1879035 >>> >>> Signed-off-by: Roger Quadros <rogerq@ti.com> >> >> Any comments on this patch? > > I read the url you pointed and I wonder why, at then end, did > you choose to add a dummy set_irq_wake() instead of using > IRQCHIP_SKIP_SET_WAKE ? You mean like this? diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2feb6fe 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .flags = IRQCHIP_SKIP_SET_WAKE, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); This works as well and is better. I'll post a v2. cheers, -roger >> >>> --- >>> kernel/irq/dummychip.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >>> index 988dc58..2405d7a 100644 >>> --- a/kernel/irq/dummychip.c >>> +++ b/kernel/irq/dummychip.c >>> @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) >>> return 0; >>> } >>> >>> +static int noop_int_ret(struct irq_data *data, unsigned int val) >>> +{ >>> + return 0; >>> +} >>> + >>> /* >>> * Generic no controller implementation >>> */ >>> @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { >>> .irq_ack = noop, >>> .irq_mask = noop, >>> .irq_unmask = noop, >>> + .irq_set_wake = noop_int_ret, >>> }; >>> EXPORT_SYMBOL_GPL(dummy_irq_chip); >>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-usb" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() @ 2015-04-15 8:07 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-04-15 8:07 UTC (permalink / raw) To: Gregory CLEMENT Cc: tglx, cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel Hi Gregory, On 14/04/15 17:02, Gregory CLEMENT wrote: > Hi Roger, > > On 14/04/2015 12:13, Roger Quadros wrote: >> Hi Thomas, >> >> On 30/03/15 16:15, Roger Quadros wrote: >>> Without this system suspend is broken on systems that have >>> drivers calling enable/disable_irq_wake() for interrupts based off >>> the dummy irq hook. >>> (e.g. drivers/gpio/gpio-pcf857x.c) >>> >>> http://article.gmane.org/gmane.linux.kernel/1879035 >>> >>> Signed-off-by: Roger Quadros <rogerq@ti.com> >> >> Any comments on this patch? > > I read the url you pointed and I wonder why, at then end, did > you choose to add a dummy set_irq_wake() instead of using > IRQCHIP_SKIP_SET_WAKE ? You mean like this? diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2feb6fe 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .flags = IRQCHIP_SKIP_SET_WAKE, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); This works as well and is better. I'll post a v2. cheers, -roger >> >>> --- >>> kernel/irq/dummychip.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >>> index 988dc58..2405d7a 100644 >>> --- a/kernel/irq/dummychip.c >>> +++ b/kernel/irq/dummychip.c >>> @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) >>> return 0; >>> } >>> >>> +static int noop_int_ret(struct irq_data *data, unsigned int val) >>> +{ >>> + return 0; >>> +} >>> + >>> /* >>> * Generic no controller implementation >>> */ >>> @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { >>> .irq_ack = noop, >>> .irq_mask = noop, >>> .irq_unmask = noop, >>> + .irq_set_wake = noop_int_ret, >>> }; >>> EXPORT_SYMBOL_GPL(dummy_irq_chip); >>> >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-usb" in >> the body of a message to majordomo@vger.kernel.org >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> > > ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() @ 2015-04-15 8:51 ` Gregory CLEMENT 0 siblings, 0 replies; 21+ messages in thread From: Gregory CLEMENT @ 2015-04-15 8:51 UTC (permalink / raw) To: Roger Quadros Cc: tglx, cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel Hi Roger, On 15/04/2015 10:07, Roger Quadros wrote: > Hi Gregory, > > On 14/04/15 17:02, Gregory CLEMENT wrote: >> Hi Roger, >> >> On 14/04/2015 12:13, Roger Quadros wrote: >>> Hi Thomas, >>> >>> On 30/03/15 16:15, Roger Quadros wrote: >>>> Without this system suspend is broken on systems that have >>>> drivers calling enable/disable_irq_wake() for interrupts based off >>>> the dummy irq hook. >>>> (e.g. drivers/gpio/gpio-pcf857x.c) >>>> >>>> http://article.gmane.org/gmane.linux.kernel/1879035 >>>> >>>> Signed-off-by: Roger Quadros <rogerq@ti.com> >>> >>> Any comments on this patch? >> >> I read the url you pointed and I wonder why, at then end, did >> you choose to add a dummy set_irq_wake() instead of using >> IRQCHIP_SKIP_SET_WAKE ? > > You mean like this? > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2feb6fe 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .flags = IRQCHIP_SKIP_SET_WAKE, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); Yes exactly. > > This works as well and is better. I'll post a v2. Thanks, Gregory > > cheers, > -roger > >>> >>>> --- >>>> kernel/irq/dummychip.c | 6 ++++++ >>>> 1 file changed, 6 insertions(+) >>>> >>>> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >>>> index 988dc58..2405d7a 100644 >>>> --- a/kernel/irq/dummychip.c >>>> +++ b/kernel/irq/dummychip.c >>>> @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) >>>> return 0; >>>> } >>>> >>>> +static int noop_int_ret(struct irq_data *data, unsigned int val) >>>> +{ >>>> + return 0; >>>> +} >>>> + >>>> /* >>>> * Generic no controller implementation >>>> */ >>>> @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { >>>> .irq_ack = noop, >>>> .irq_mask = noop, >>>> .irq_unmask = noop, >>>> + .irq_set_wake = noop_int_ret, >>>> }; >>>> EXPORT_SYMBOL_GPL(dummy_irq_chip); >>>> >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in >>> the body of a message to majordomo@vger.kernel.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> >> > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH] genirq: provide dummy set_irq_wake() @ 2015-04-15 8:51 ` Gregory CLEMENT 0 siblings, 0 replies; 21+ messages in thread From: Gregory CLEMENT @ 2015-04-15 8:51 UTC (permalink / raw) To: Roger Quadros Cc: tglx-hfZtesqFncYOwBW4kG4KsQ, cw00.choi-Sze3O3UU22JBDgjK7y7TUQ, balbi-l0cyMroinI0, tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-usb-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA Hi Roger, On 15/04/2015 10:07, Roger Quadros wrote: > Hi Gregory, > > On 14/04/15 17:02, Gregory CLEMENT wrote: >> Hi Roger, >> >> On 14/04/2015 12:13, Roger Quadros wrote: >>> Hi Thomas, >>> >>> On 30/03/15 16:15, Roger Quadros wrote: >>>> Without this system suspend is broken on systems that have >>>> drivers calling enable/disable_irq_wake() for interrupts based off >>>> the dummy irq hook. >>>> (e.g. drivers/gpio/gpio-pcf857x.c) >>>> >>>> http://article.gmane.org/gmane.linux.kernel/1879035 >>>> >>>> Signed-off-by: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org> >>> >>> Any comments on this patch? >> >> I read the url you pointed and I wonder why, at then end, did >> you choose to add a dummy set_irq_wake() instead of using >> IRQCHIP_SKIP_SET_WAKE ? > > You mean like this? > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2feb6fe 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .flags = IRQCHIP_SKIP_SET_WAKE, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); Yes exactly. > > This works as well and is better. I'll post a v2. Thanks, Gregory > > cheers, > -roger > >>> >>>> --- >>>> kernel/irq/dummychip.c | 6 ++++++ >>>> 1 file changed, 6 insertions(+) >>>> >>>> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >>>> index 988dc58..2405d7a 100644 >>>> --- a/kernel/irq/dummychip.c >>>> +++ b/kernel/irq/dummychip.c >>>> @@ -32,6 +32,11 @@ static unsigned int noop_ret(struct irq_data *data) >>>> return 0; >>>> } >>>> >>>> +static int noop_int_ret(struct irq_data *data, unsigned int val) >>>> +{ >>>> + return 0; >>>> +} >>>> + >>>> /* >>>> * Generic no controller implementation >>>> */ >>>> @@ -57,5 +62,6 @@ struct irq_chip dummy_irq_chip = { >>>> .irq_ack = noop, >>>> .irq_mask = noop, >>>> .irq_unmask = noop, >>>> + .irq_set_wake = noop_int_ret, >>>> }; >>>> EXPORT_SYMBOL_GPL(dummy_irq_chip); >>>> >>> >>> -- >>> To unsubscribe from this list: send the line "unsubscribe linux-usb" in >>> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org >>> More majordomo info at http://vger.kernel.org/majordomo-info.html >>> >> >> > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 21+ messages in thread
* [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip 2015-03-30 13:15 ` Roger Quadros @ 2015-04-15 8:14 ` Roger Quadros -1 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-04-15 8:14 UTC (permalink / raw) To: tglx Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel, Gregory CLEMENT Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) http://article.gmane.org/gmane.linux.kernel/1879035 Signed-off-by: Roger Quadros <rogerq@ti.com> --- kernel/irq/dummychip.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2feb6fe 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .flags = IRQCHIP_SKIP_SET_WAKE, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); -- 2.1.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip @ 2015-04-15 8:14 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-04-15 8:14 UTC (permalink / raw) To: tglx Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel, Gregory CLEMENT Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) http://article.gmane.org/gmane.linux.kernel/1879035 Signed-off-by: Roger Quadros <rogerq@ti.com> --- kernel/irq/dummychip.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2feb6fe 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .flags = IRQCHIP_SKIP_SET_WAKE, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); -- 2.1.0 ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip @ 2015-04-15 9:29 ` Gregory CLEMENT 0 siblings, 0 replies; 21+ messages in thread From: Gregory CLEMENT @ 2015-04-15 9:29 UTC (permalink / raw) To: Roger Quadros, tglx Cc: cw00.choi, balbi, tony, linux-usb, linux-omap, linux-kernel On 15/04/2015 10:14, Roger Quadros wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. > (e.g. drivers/gpio/gpio-pcf857x.c) > > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq@ti.com> FWIW: Reviewed-by: Gregory CLEMENT <gregory.clement@free-electrons.com> > --- > kernel/irq/dummychip.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2feb6fe 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .flags = IRQCHIP_SKIP_SET_WAKE, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip @ 2015-04-15 9:29 ` Gregory CLEMENT 0 siblings, 0 replies; 21+ messages in thread From: Gregory CLEMENT @ 2015-04-15 9:29 UTC (permalink / raw) To: Roger Quadros, tglx-hfZtesqFncYOwBW4kG4KsQ Cc: cw00.choi-Sze3O3UU22JBDgjK7y7TUQ, balbi-l0cyMroinI0, tony-4v6yS6AI5VpBDgjK7y7TUQ, linux-usb-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, linux-kernel-u79uwXL29TY76Z2rM5mHXA On 15/04/2015 10:14, Roger Quadros wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. > (e.g. drivers/gpio/gpio-pcf857x.c) > > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq-l0cyMroinI0@public.gmane.org> FWIW: Reviewed-by: Gregory CLEMENT <gregory.clement-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8@public.gmane.org> > --- > kernel/irq/dummychip.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2feb6fe 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .flags = IRQCHIP_SKIP_SET_WAKE, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); > -- Gregory Clement, Free Electrons Kernel, drivers, real-time and embedded Linux development, consulting, training and support. http://free-electrons.com -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 21+ messages in thread
* [tip:irq/urgent] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip 2015-04-15 8:14 ` Roger Quadros (?) (?) @ 2015-04-24 19:00 ` tip-bot for Roger Quadros -1 siblings, 0 replies; 21+ messages in thread From: tip-bot for Roger Quadros @ 2015-04-24 19:00 UTC (permalink / raw) To: linux-tip-commits Cc: rogerq, tglx, gregory.clement, cw00.choi, tony, mingo, linux-kernel, balbi, hpa Commit-ID: 10a50f1ab5f06c9a3ee5ece3ec52e607ed53c79f Gitweb: http://git.kernel.org/tip/10a50f1ab5f06c9a3ee5ece3ec52e607ed53c79f Author: Roger Quadros <rogerq@ti.com> AuthorDate: Wed, 15 Apr 2015 11:14:11 +0300 Committer: Thomas Gleixner <tglx@linutronix.de> CommitDate: Fri, 24 Apr 2015 20:57:06 +0200 genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip Without this system suspend is broken on systems that have drivers calling enable/disable_irq_wake() for interrupts based off the dummy irq hook. (e.g. drivers/gpio/gpio-pcf857x.c) Signed-off-by: Roger Quadros <rogerq@ti.com> Cc: <cw00.choi@samsung.com> Cc: <balbi@ti.com> Cc: <tony@atomide.com> Cc: Gregory Clement <gregory.clement@free-electrons.com> Link: http://lkml.kernel.org/r/552E1DD3.4040106@ti.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de> --- kernel/irq/dummychip.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c index 988dc58..2feb6fe 100644 --- a/kernel/irq/dummychip.c +++ b/kernel/irq/dummychip.c @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { .irq_ack = noop, .irq_mask = noop, .irq_unmask = noop, + .flags = IRQCHIP_SKIP_SET_WAKE, }; EXPORT_SYMBOL_GPL(dummy_irq_chip); ^ permalink raw reply related [flat|nested] 21+ messages in thread
* Re: [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip 2015-04-15 8:14 ` Roger Quadros ` (2 preceding siblings ...) (?) @ 2015-05-11 10:50 ` Geert Uytterhoeven 2015-05-11 11:14 ` Roger Quadros -1 siblings, 1 reply; 21+ messages in thread From: Geert Uytterhoeven @ 2015-05-11 10:50 UTC (permalink / raw) To: Roger Quadros Cc: Thomas Gleixner, Chanwoo Choi, Felipe Balbi, Tony Lindgren, USB list, linux-omap, linux-kernel, Gregory CLEMENT On Wed, Apr 15, 2015 at 10:14 AM, Roger Quadros <rogerq@ti.com> wrote: > Without this system suspend is broken on systems that have > drivers calling enable/disable_irq_wake() for interrupts based off > the dummy irq hook. Good to see this was applied. Still, I think no_irq_chip should also be fixed, cfr. my patch "genirq: Set IRQCHIP_SKIP_SET_WAKE for no_irq_chip and dummy_irq_chip" (https://lkml.org/lkml/2015/1/12/506 is down, but https://patchwork.ozlabs.org/patch/427788/ works) > (e.g. drivers/gpio/gpio-pcf857x.c) Please note the particular pfc857x.c case was fixed by commit b80eef95beb04760 ("gpio: pcf857x: Propagate wake-up setting to parent irq controller"), as that driver has other problems. Now it no longer uses dummy_irq_chip. > http://article.gmane.org/gmane.linux.kernel/1879035 > > Signed-off-by: Roger Quadros <rogerq@ti.com> > --- > kernel/irq/dummychip.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c > index 988dc58..2feb6fe 100644 > --- a/kernel/irq/dummychip.c > +++ b/kernel/irq/dummychip.c > @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { > .irq_ack = noop, > .irq_mask = noop, > .irq_unmask = noop, > + .flags = IRQCHIP_SKIP_SET_WAKE, > }; > EXPORT_SYMBOL_GPL(dummy_irq_chip); > -- > 2.1.0 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip 2015-05-11 10:50 ` [PATCH v2] " Geert Uytterhoeven @ 2015-05-11 11:14 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-05-11 11:14 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Thomas Gleixner, Chanwoo Choi, Felipe Balbi, Tony Lindgren, USB list, linux-omap, linux-kernel, Gregory CLEMENT, santosh.shilimkar Hi Geert, On 11/05/15 13:50, Geert Uytterhoeven wrote: > On Wed, Apr 15, 2015 at 10:14 AM, Roger Quadros <rogerq@ti.com> wrote: >> Without this system suspend is broken on systems that have >> drivers calling enable/disable_irq_wake() for interrupts based off >> the dummy irq hook. > > Good to see this was applied. Still, I think no_irq_chip should also be > fixed, cfr. my patch "genirq: Set IRQCHIP_SKIP_SET_WAKE for no_irq_chip and I don't see why not so can you please send a patch to add that? Thanks. cheers, -roger > dummy_irq_chip" (https://lkml.org/lkml/2015/1/12/506 is down, but > https://patchwork.ozlabs.org/patch/427788/ works) > >> (e.g. drivers/gpio/gpio-pcf857x.c) > > Please note the particular pfc857x.c case was fixed by commit b80eef95beb04760 > ("gpio: pcf857x: Propagate wake-up setting to parent irq controller"), as that > driver has other problems. Now it no longer uses dummy_irq_chip. > >> http://article.gmane.org/gmane.linux.kernel/1879035 >> >> Signed-off-by: Roger Quadros <rogerq@ti.com> >> --- >> kernel/irq/dummychip.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >> index 988dc58..2feb6fe 100644 >> --- a/kernel/irq/dummychip.c >> +++ b/kernel/irq/dummychip.c >> @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { >> .irq_ack = noop, >> .irq_mask = noop, >> .irq_unmask = noop, >> + .flags = IRQCHIP_SKIP_SET_WAKE, >> }; >> EXPORT_SYMBOL_GPL(dummy_irq_chip); >> -- >> 2.1.0 > > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds > ^ permalink raw reply [flat|nested] 21+ messages in thread
* Re: [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip @ 2015-05-11 11:14 ` Roger Quadros 0 siblings, 0 replies; 21+ messages in thread From: Roger Quadros @ 2015-05-11 11:14 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Thomas Gleixner, Chanwoo Choi, Felipe Balbi, Tony Lindgren, USB list, linux-omap, linux-kernel, Gregory CLEMENT, santosh.shilimkar Hi Geert, On 11/05/15 13:50, Geert Uytterhoeven wrote: > On Wed, Apr 15, 2015 at 10:14 AM, Roger Quadros <rogerq@ti.com> wrote: >> Without this system suspend is broken on systems that have >> drivers calling enable/disable_irq_wake() for interrupts based off >> the dummy irq hook. > > Good to see this was applied. Still, I think no_irq_chip should also be > fixed, cfr. my patch "genirq: Set IRQCHIP_SKIP_SET_WAKE for no_irq_chip and I don't see why not so can you please send a patch to add that? Thanks. cheers, -roger > dummy_irq_chip" (https://lkml.org/lkml/2015/1/12/506 is down, but > https://patchwork.ozlabs.org/patch/427788/ works) > >> (e.g. drivers/gpio/gpio-pcf857x.c) > > Please note the particular pfc857x.c case was fixed by commit b80eef95beb04760 > ("gpio: pcf857x: Propagate wake-up setting to parent irq controller"), as that > driver has other problems. Now it no longer uses dummy_irq_chip. > >> http://article.gmane.org/gmane.linux.kernel/1879035 >> >> Signed-off-by: Roger Quadros <rogerq@ti.com> >> --- >> kernel/irq/dummychip.c | 1 + >> 1 file changed, 1 insertion(+) >> >> diff --git a/kernel/irq/dummychip.c b/kernel/irq/dummychip.c >> index 988dc58..2feb6fe 100644 >> --- a/kernel/irq/dummychip.c >> +++ b/kernel/irq/dummychip.c >> @@ -57,5 +57,6 @@ struct irq_chip dummy_irq_chip = { >> .irq_ack = noop, >> .irq_mask = noop, >> .irq_unmask = noop, >> + .flags = IRQCHIP_SKIP_SET_WAKE, >> }; >> EXPORT_SYMBOL_GPL(dummy_irq_chip); >> -- >> 2.1.0 > > > Gr{oetje,eeting}s, > > Geert > > -- > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org > > In personal conversations with technical people, I call myself a hacker. But > when I'm talking to journalists I just say "programmer" or something like that. > -- Linus Torvalds > ^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2015-05-11 11:15 UTC | newest] Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2015-03-30 13:15 [PATCH] genirq: provide dummy set_irq_wake() Roger Quadros 2015-03-30 13:15 ` Roger Quadros 2015-03-30 18:06 ` Felipe Balbi 2015-03-30 18:06 ` Felipe Balbi 2015-03-30 18:06 ` Felipe Balbi 2015-03-30 18:06 ` Felipe Balbi 2015-04-14 10:13 ` Roger Quadros 2015-04-14 10:13 ` Roger Quadros 2015-04-14 14:02 ` Gregory CLEMENT 2015-04-15 8:07 ` Roger Quadros 2015-04-15 8:07 ` Roger Quadros 2015-04-15 8:51 ` Gregory CLEMENT 2015-04-15 8:51 ` Gregory CLEMENT 2015-04-15 8:14 ` [PATCH v2] genirq: Set IRQCHIP_SKIP_SET_WAKE flag for dummy_irq_chip Roger Quadros 2015-04-15 8:14 ` Roger Quadros 2015-04-15 9:29 ` Gregory CLEMENT 2015-04-15 9:29 ` Gregory CLEMENT 2015-04-24 19:00 ` [tip:irq/urgent] " tip-bot for Roger Quadros 2015-05-11 10:50 ` [PATCH v2] " Geert Uytterhoeven 2015-05-11 11:14 ` Roger Quadros 2015-05-11 11:14 ` Roger Quadros
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.