All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Ulf Hansson" <ulf.hansson@linaro.org>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"KVM list" <kvm@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-iio@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Amit Kucheria" <amitk@kernel.org>,
	"ALSA Development Mailing List" <alsa-devel@alsa-project.org>,
	"Joakim Zhang" <qiangqing.zhang@nxp.com>,
	"Guenter Roeck" <groeck@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"MTD Maling List" <linux-mtd@lists.infradead.org>,
	"Linux I2C" <linux-i2c@vger.kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	linux-phy@lists.infradead.org, netdev@vger.kernel.org,
	linux-spi <linux-spi@vger.kernel.org>,
	"Jiri Slaby" <jirislaby@kernel.org>,
	openipmi-developer@lists.sourceforge.net,
	"Khuong Dinh" <khuong@os.amperecomputing.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>,
	"Kamal Dasu" <kdasu.kdev@gmail.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	"Geert Uytterhoeven" <geert@linux-m68k.org>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	bcm-kernel-feedback-list <bcm-kernel-feedback-list@broadcom.com>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Linux PWM List" <linux-pwm@vger.kernel.org>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Robert Richter" <rric@kernel.org>,
	"Saravanan Sekar" <sravanhome@gmail.com>,
	"Corey Minyard" <minyard@acm.org>,
	"Linux PM list" <linux-pm@vger.kernel.org>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"John Garry" <john.garry@huawei.com>,
	"Peter Korsgaard" <peter@korsgaard.com>,
	"William Breathitt Gray" <vilhelm.gray@gmail.com>,
	"Mark Gross" <markgross@kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Borislav Petkov" <bp@alien8.de>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Takashi Iwai" <tiwai@suse.com>,
	platform-driver-x86@vger.kernel.org,
	"Benson Leung" <bleung@chromium.org>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	linux-edac@vger.kernel.org, "Tony Luck" <tony.luck@intel.com>,
	"Mun Yew Tham" <mun.yew.tham@intel.com>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Linux MMC List" <linux-mmc@vger.kernel.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	"Sergey Shtylyov" <s.shtylyov@omp.ru>,
	"Vinod Koul" <vkoul@kernel.org>,
	"James Morse" <james.morse@arm.com>,
	"Zha Qipeng" <qipeng.zha@intel.com>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Richard Weinberger" <richard@nod.at>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	linux-mediatek@lists.infradead.org,
	"Brian Norris" <computersforpeace@gmail.com>,
	"David S. Miller" <davem@davemloft.net>
Subject: Re: [PATCH 1/2] platform: make platform_get_irq_optional() optional
Date: Wed, 12 Jan 2022 15:51:24 +0200	[thread overview]
Message-ID: <Yd7c3BTcdXcbHDUM@smile.fi.intel.com> (raw)
In-Reply-To: <Yd7Z3Qwevb/lEwQZ@lunn.ch>

On Wed, Jan 12, 2022 at 02:38:37PM +0100, Andrew Lunn wrote:
> > If an optional IRQ is not present, drivers either just ignore it (e.g.
> > for devices that can have multiple interrupts or a single muxed IRQ),
> > or they have to resort to polling. For the latter, fall-back handling
> > is needed elsewhere in the driver.
> > To me it sounds much more logical for the driver to check if an
> > optional irq is non-zero (available) or zero (not available), than to
> > sprinkle around checks for -ENXIO. In addition, you have to remember
> > that this one returns -ENXIO, while other APIs use -ENOENT or -ENOSYS
> > (or some other error code) to indicate absence. I thought not having
> > to care about the actual error code was the main reason behind the
> > introduction of the *_optional() APIs.
> 
> The *_optional() functions return an error code if there has been a
> real error which should be reported up the call stack. This excludes
> whatever error code indicates the requested resource does not exist,
> which can be -ENODEV etc. If the device does not exist, a magic cookie
> is returned which appears to be a valid resources but in fact is
> not. So the users of these functions just need to check for an error
> code, and fail the probe if present.
> 
> You seems to be suggesting in binary return value: non-zero
> (available) or zero (not available)


No, what is suggested is to (besides the API changes):
- do not treat ENXIO as something special in platform_get_irq*()
- allow platform_get_irq*() to return other error codes

> This discards the error code when something goes wrong. That is useful
> information to have, so we should not be discarding it.
> 
> IRQ don't currently have a magic cookie value. One option would be to
> add such a magic cookie to the subsystem. Otherwise, since 0 is
> invalid, return 0 to indicate the IRQ does not exist.
> 
> The request for a script checking this then makes sense. However, i
> don't know how well coccinelle/sparse can track values across function
> calls. They probably can check for:
> 
>    ret = irq_get_optional()
>    if (ret < 0)
>       return ret;
> 
> A missing if < 0 statement somewhere later is very likely to be an
> error. A comparison of <= 0 is also likely to be an error. A check for
> > 0 before calling any other IRQ functions would be good. I'm
> surprised such a check does not already existing in the IRQ API, but
> there are probably historical reasons for that.
> 
>       Andrew

-- 
With Best Regards,
Andy Shevchenko



WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"KVM list" <kvm@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-iio@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Amit Kucheria" <amitk@kernel.org>,
	"ALSA Development Mailing List" <alsa-devel@alsa-project.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Guenter Roeck" <groeck@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"MTD Maling List" <linux-mtd@lists.infradead.org>,
	"Linux I2C" <linux-i2c@vger.kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	linux-phy@lists.infradead.org,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Khuong Dinh" <khuong@os.amperecomputing.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>,
	"Joakim Zhang" <qiangqing.zhang@nxp.com>,
	"Kamal Dasu" <kdasu.kdev@gmail.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Tony Luck" <tony.luck@intel.com>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	bcm-kernel-feedback-list <bcm-kernel-feedback-list@broadcom.com>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	platform-driver-x86@vger.kernel.org,
	"Linux PWM List" <linux-pwm@vger.kernel.org>,
	"Robert Richter" <rric@kernel.org>,
	"Saravanan Sekar" <sravanhome@gmail.com>,
	"Corey Minyard" <minyard@acm.org>,
	"Linux PM list" <linux-pm@vger.kernel.org>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"John Garry" <john.garry@huawei.com>,
	"Peter Korsgaard" <peter@korsgaard.com>,
	"William Breathitt Gray" <vilhelm.gray@gmail.com>,
	"Mark Gross" <markgross@kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Borislav Petkov" <bp@alien8.de>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	openipmi-developer@lists.sourceforge.net,
	"Benson Leung" <bleung@chromium.org>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	linux-edac@vger.kernel.org, "Sergey Shtylyov" <s.shtylyov@omp.ru>,
	"Richard Weinberger" <richard@nod.at>,
	"Mun Yew Tham" <mun.yew.tham@intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Linux MMC List" <linux-mmc@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-spi <linux-spi@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	"Vinod Koul" <vkoul@kernel.org>,
	"James Morse" <james.morse@arm.com>,
	"Zha Qipeng" <qipeng.zha@intel.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	linux-mediatek@lists.infradead.org,
	"Brian Norris" <computersforpeace@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] platform: make platform_get_irq_optional() optional
Date: Wed, 12 Jan 2022 15:51:24 +0200	[thread overview]
Message-ID: <Yd7c3BTcdXcbHDUM@smile.fi.intel.com> (raw)
In-Reply-To: <Yd7Z3Qwevb/lEwQZ@lunn.ch>

On Wed, Jan 12, 2022 at 02:38:37PM +0100, Andrew Lunn wrote:
> > If an optional IRQ is not present, drivers either just ignore it (e.g.
> > for devices that can have multiple interrupts or a single muxed IRQ),
> > or they have to resort to polling. For the latter, fall-back handling
> > is needed elsewhere in the driver.
> > To me it sounds much more logical for the driver to check if an
> > optional irq is non-zero (available) or zero (not available), than to
> > sprinkle around checks for -ENXIO. In addition, you have to remember
> > that this one returns -ENXIO, while other APIs use -ENOENT or -ENOSYS
> > (or some other error code) to indicate absence. I thought not having
> > to care about the actual error code was the main reason behind the
> > introduction of the *_optional() APIs.
> 
> The *_optional() functions return an error code if there has been a
> real error which should be reported up the call stack. This excludes
> whatever error code indicates the requested resource does not exist,
> which can be -ENODEV etc. If the device does not exist, a magic cookie
> is returned which appears to be a valid resources but in fact is
> not. So the users of these functions just need to check for an error
> code, and fail the probe if present.
> 
> You seems to be suggesting in binary return value: non-zero
> (available) or zero (not available)


No, what is suggested is to (besides the API changes):
- do not treat ENXIO as something special in platform_get_irq*()
- allow platform_get_irq*() to return other error codes

> This discards the error code when something goes wrong. That is useful
> information to have, so we should not be discarding it.
> 
> IRQ don't currently have a magic cookie value. One option would be to
> add such a magic cookie to the subsystem. Otherwise, since 0 is
> invalid, return 0 to indicate the IRQ does not exist.
> 
> The request for a script checking this then makes sense. However, i
> don't know how well coccinelle/sparse can track values across function
> calls. They probably can check for:
> 
>    ret = irq_get_optional()
>    if (ret < 0)
>       return ret;
> 
> A missing if < 0 statement somewhere later is very likely to be an
> error. A comparison of <= 0 is also likely to be an error. A check for
> > 0 before calling any other IRQ functions would be good. I'm
> surprised such a check does not already existing in the IRQ API, but
> there are probably historical reasons for that.
> 
>       Andrew

-- 
With Best Regards,
Andy Shevchenko



WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"KVM list" <kvm@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-iio@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Amit Kucheria" <amitk@kernel.org>,
	"ALSA Development Mailing List" <alsa-devel@alsa-project.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Guenter Roeck" <groeck@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"MTD Maling List" <linux-mtd@lists.infradead.org>,
	"Linux I2C" <linux-i2c@vger.kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	linux-phy@lists.infradead.org,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Khuong Dinh" <khuong@os.amperecomputing.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>,
	"Joakim Zhang" <qiangqing.zhang@nxp.com>,
	"Kamal Dasu" <kdasu.kdev@gmail.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Tony Luck" <tony.luck@intel.com>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	bcm-kernel-feedback-list <bcm-kernel-feedback-list@broadcom.com>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	platform-driver-x86@vger.kernel.org,
	"Linux PWM List" <linux-pwm@vger.kernel.org>,
	"Robert Richter" <rric@kernel.org>,
	"Saravanan Sekar" <sravanhome@gmail.com>,
	"Corey Minyard" <minyard@acm.org>,
	"Linux PM list" <linux-pm@vger.kernel.org>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"John Garry" <john.garry@huawei.com>,
	"Peter Korsgaard" <peter@korsgaard.com>,
	"William Breathitt Gray" <vilhelm.gray@gmail.com>,
	"Mark Gross" <markgross@kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Borislav Petkov" <bp@alien8.de>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	openipmi-developer@lists.sourceforge.net,
	"Benson Leung" <bleung@chromium.org>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	linux-edac@vger.kernel.org, "Sergey Shtylyov" <s.shtylyov@omp.ru>,
	"Richard Weinberger" <richard@nod.at>,
	"Mun Yew Tham" <mun.yew.tham@intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Linux MMC List" <linux-mmc@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-spi <linux-spi@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	"Vinod Koul" <vkoul@kernel.org>,
	"James Morse" <james.morse@arm.com>,
	"Zha Qipeng" <qipeng.zha@intel.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	linux-mediatek@lists.infradead.org,
	"Brian Norris" <computersforpeace@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] platform: make platform_get_irq_optional() optional
Date: Wed, 12 Jan 2022 15:51:24 +0200	[thread overview]
Message-ID: <Yd7c3BTcdXcbHDUM@smile.fi.intel.com> (raw)
In-Reply-To: <Yd7Z3Qwevb/lEwQZ@lunn.ch>

On Wed, Jan 12, 2022 at 02:38:37PM +0100, Andrew Lunn wrote:
> > If an optional IRQ is not present, drivers either just ignore it (e.g.
> > for devices that can have multiple interrupts or a single muxed IRQ),
> > or they have to resort to polling. For the latter, fall-back handling
> > is needed elsewhere in the driver.
> > To me it sounds much more logical for the driver to check if an
> > optional irq is non-zero (available) or zero (not available), than to
> > sprinkle around checks for -ENXIO. In addition, you have to remember
> > that this one returns -ENXIO, while other APIs use -ENOENT or -ENOSYS
> > (or some other error code) to indicate absence. I thought not having
> > to care about the actual error code was the main reason behind the
> > introduction of the *_optional() APIs.
> 
> The *_optional() functions return an error code if there has been a
> real error which should be reported up the call stack. This excludes
> whatever error code indicates the requested resource does not exist,
> which can be -ENODEV etc. If the device does not exist, a magic cookie
> is returned which appears to be a valid resources but in fact is
> not. So the users of these functions just need to check for an error
> code, and fail the probe if present.
> 
> You seems to be suggesting in binary return value: non-zero
> (available) or zero (not available)


No, what is suggested is to (besides the API changes):
- do not treat ENXIO as something special in platform_get_irq*()
- allow platform_get_irq*() to return other error codes

> This discards the error code when something goes wrong. That is useful
> information to have, so we should not be discarding it.
> 
> IRQ don't currently have a magic cookie value. One option would be to
> add such a magic cookie to the subsystem. Otherwise, since 0 is
> invalid, return 0 to indicate the IRQ does not exist.
> 
> The request for a script checking this then makes sense. However, i
> don't know how well coccinelle/sparse can track values across function
> calls. They probably can check for:
> 
>    ret = irq_get_optional()
>    if (ret < 0)
>       return ret;
> 
> A missing if < 0 statement somewhere later is very likely to be an
> error. A comparison of <= 0 is also likely to be an error. A check for
> > 0 before calling any other IRQ functions would be good. I'm
> surprised such a check does not already existing in the IRQ API, but
> there are probably historical reasons for that.
> 
>       Andrew

-- 
With Best Regards,
Andy Shevchenko



_______________________________________________
Linux-mediatek mailing list
Linux-mediatek@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-mediatek

WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"KVM list" <kvm@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-iio@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Amit Kucheria" <amitk@kernel.org>,
	"ALSA Development Mailing List" <alsa-devel@alsa-project.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Guenter Roeck" <groeck@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"MTD Maling List" <linux-mtd@lists.infradead.org>,
	"Linux I2C" <linux-i2c@vger.kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	linux-phy@lists.infradead.org,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Khuong Dinh" <khuong@os.amperecomputing.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>,
	"Joakim Zhang" <qiangqing.zhang@nxp.com>,
	"Kamal Dasu" <kdasu.kdev@gmail.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Tony Luck" <tony.luck@intel.com>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	bcm-kernel-feedback-list <bcm-kernel-feedback-list@broadcom.com>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	platform-driver-x86@vger.kernel.org,
	"Linux PWM List" <linux-pwm@vger.kernel.org>,
	"Robert Richter" <rric@kernel.org>,
	"Saravanan Sekar" <sravanhome@gmail.com>,
	"Corey Minyard" <minyard@acm.org>,
	"Linux PM list" <linux-pm@vger.kernel.org>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"John Garry" <john.garry@huawei.com>,
	"Peter Korsgaard" <peter@korsgaard.com>,
	"William Breathitt Gray" <vilhelm.gray@gmail.com>,
	"Mark Gross" <markgross@kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Borislav Petkov" <bp@alien8.de>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	openipmi-developer@lists.sourceforge.net,
	"Benson Leung" <bleung@chromium.org>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	linux-edac@vger.kernel.org, "Sergey Shtylyov" <s.shtylyov@omp.ru>,
	"Richard Weinberger" <richard@nod.at>,
	"Mun Yew Tham" <mun.yew.tham@intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Linux MMC List" <linux-mmc@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-spi <linux-spi@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	"Vinod Koul" <vkoul@kernel.org>,
	"James Morse" <james.morse@arm.com>,
	"Zha Qipeng" <qipeng.zha@intel.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	linux-mediatek@lists.infradead.org,
	"Brian Norris" <computersforpeace@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] platform: make platform_get_irq_optional() optional
Date: Wed, 12 Jan 2022 15:51:24 +0200	[thread overview]
Message-ID: <Yd7c3BTcdXcbHDUM@smile.fi.intel.com> (raw)
In-Reply-To: <Yd7Z3Qwevb/lEwQZ@lunn.ch>

On Wed, Jan 12, 2022 at 02:38:37PM +0100, Andrew Lunn wrote:
> > If an optional IRQ is not present, drivers either just ignore it (e.g.
> > for devices that can have multiple interrupts or a single muxed IRQ),
> > or they have to resort to polling. For the latter, fall-back handling
> > is needed elsewhere in the driver.
> > To me it sounds much more logical for the driver to check if an
> > optional irq is non-zero (available) or zero (not available), than to
> > sprinkle around checks for -ENXIO. In addition, you have to remember
> > that this one returns -ENXIO, while other APIs use -ENOENT or -ENOSYS
> > (or some other error code) to indicate absence. I thought not having
> > to care about the actual error code was the main reason behind the
> > introduction of the *_optional() APIs.
> 
> The *_optional() functions return an error code if there has been a
> real error which should be reported up the call stack. This excludes
> whatever error code indicates the requested resource does not exist,
> which can be -ENODEV etc. If the device does not exist, a magic cookie
> is returned which appears to be a valid resources but in fact is
> not. So the users of these functions just need to check for an error
> code, and fail the probe if present.
> 
> You seems to be suggesting in binary return value: non-zero
> (available) or zero (not available)


No, what is suggested is to (besides the API changes):
- do not treat ENXIO as something special in platform_get_irq*()
- allow platform_get_irq*() to return other error codes

> This discards the error code when something goes wrong. That is useful
> information to have, so we should not be discarding it.
> 
> IRQ don't currently have a magic cookie value. One option would be to
> add such a magic cookie to the subsystem. Otherwise, since 0 is
> invalid, return 0 to indicate the IRQ does not exist.
> 
> The request for a script checking this then makes sense. However, i
> don't know how well coccinelle/sparse can track values across function
> calls. They probably can check for:
> 
>    ret = irq_get_optional()
>    if (ret < 0)
>       return ret;
> 
> A missing if < 0 statement somewhere later is very likely to be an
> error. A comparison of <= 0 is also likely to be an error. A check for
> > 0 before calling any other IRQ functions would be good. I'm
> surprised such a check does not already existing in the IRQ API, but
> there are probably historical reasons for that.
> 
>       Andrew

-- 
With Best Regards,
Andy Shevchenko



______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/

WARNING: multiple messages have this Message-ID (diff)
From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
To: Andrew Lunn <andrew@lunn.ch>
Cc: "Geert Uytterhoeven" <geert@linux-m68k.org>,
	"Uwe Kleine-König" <u.kleine-koenig@pengutronix.de>,
	"Ulf Hansson" <ulf.hansson@linaro.org>,
	"Vignesh Raghavendra" <vigneshr@ti.com>,
	"KVM list" <kvm@vger.kernel.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	linux-iio@vger.kernel.org,
	"Linus Walleij" <linus.walleij@linaro.org>,
	"Amit Kucheria" <amitk@kernel.org>,
	"ALSA Development Mailing List" <alsa-devel@alsa-project.org>,
	"Liam Girdwood" <lgirdwood@gmail.com>,
	"Guenter Roeck" <groeck@chromium.org>,
	"Thierry Reding" <thierry.reding@gmail.com>,
	"MTD Maling List" <linux-mtd@lists.infradead.org>,
	"Linux I2C" <linux-i2c@vger.kernel.org>,
	"Miquel Raynal" <miquel.raynal@bootlin.com>,
	linux-phy@lists.infradead.org,
	"Jiri Slaby" <jirislaby@kernel.org>,
	"David S. Miller" <davem@davemloft.net>,
	"Khuong Dinh" <khuong@os.amperecomputing.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Matthias Schiffer" <matthias.schiffer@ew.tq-group.com>,
	"Joakim Zhang" <qiangqing.zhang@nxp.com>,
	"Kamal Dasu" <kdasu.kdev@gmail.com>,
	"Lee Jones" <lee.jones@linaro.org>,
	"Bartosz Golaszewski" <brgl@bgdev.pl>,
	"Daniel Lezcano" <daniel.lezcano@linaro.org>,
	"Tony Luck" <tony.luck@intel.com>,
	"Kishon Vijay Abraham I" <kishon@ti.com>,
	bcm-kernel-feedback-list <bcm-kernel-feedback-list@broadcom.com>,
	"open list:SERIAL DRIVERS" <linux-serial@vger.kernel.org>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Zhang Rui" <rui.zhang@intel.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	platform-driver-x86@vger.kernel.org,
	"Linux PWM List" <linux-pwm@vger.kernel.org>,
	"Robert Richter" <rric@kernel.org>,
	"Saravanan Sekar" <sravanhome@gmail.com>,
	"Corey Minyard" <minyard@acm.org>,
	"Linux PM list" <linux-pm@vger.kernel.org>,
	"Mauro Carvalho Chehab" <mchehab@kernel.org>,
	"John Garry" <john.garry@huawei.com>,
	"Peter Korsgaard" <peter@korsgaard.com>,
	"William Breathitt Gray" <vilhelm.gray@gmail.com>,
	"Mark Gross" <markgross@kernel.org>,
	"open list:GPIO SUBSYSTEM" <linux-gpio@vger.kernel.org>,
	"Alex Williamson" <alex.williamson@redhat.com>,
	"Mark Brown" <broonie@kernel.org>,
	"Borislav Petkov" <bp@alien8.de>,
	"Eric Auger" <eric.auger@redhat.com>,
	"Takashi Iwai" <tiwai@suse.com>,
	"Jaroslav Kysela" <perex@perex.cz>,
	openipmi-developer@lists.sourceforge.net,
	"Benson Leung" <bleung@chromium.org>,
	"Pengutronix Kernel Team" <kernel@pengutronix.de>,
	"Linux ARM" <linux-arm-kernel@lists.infradead.org>,
	linux-edac@vger.kernel.org, "Sergey Shtylyov" <s.shtylyov@omp.ru>,
	"Richard Weinberger" <richard@nod.at>,
	"Mun Yew Tham" <mun.yew.tham@intel.com>,
	"Hans de Goede" <hdegoede@redhat.com>,
	"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Yoshihiro Shimoda" <yoshihiro.shimoda.uh@renesas.com>,
	"Cornelia Huck" <cohuck@redhat.com>,
	"Linux MMC List" <linux-mmc@vger.kernel.org>,
	"Linux Kernel Mailing List" <linux-kernel@vger.kernel.org>,
	linux-spi <linux-spi@vger.kernel.org>,
	Linux-Renesas <linux-renesas-soc@vger.kernel.org>,
	"Vinod Koul" <vkoul@kernel.org>,
	"James Morse" <james.morse@arm.com>,
	"Zha Qipeng" <qipeng.zha@intel.com>,
	"Sebastian Reichel" <sre@kernel.org>,
	"Niklas Söderlund" <niklas.soderlund@ragnatech.se>,
	linux-mediatek@lists.infradead.org,
	"Brian Norris" <computersforpeace@gmail.com>,
	netdev@vger.kernel.org
Subject: Re: [PATCH 1/2] platform: make platform_get_irq_optional() optional
Date: Wed, 12 Jan 2022 15:51:24 +0200	[thread overview]
Message-ID: <Yd7c3BTcdXcbHDUM@smile.fi.intel.com> (raw)
In-Reply-To: <Yd7Z3Qwevb/lEwQZ@lunn.ch>

On Wed, Jan 12, 2022 at 02:38:37PM +0100, Andrew Lunn wrote:
> > If an optional IRQ is not present, drivers either just ignore it (e.g.
> > for devices that can have multiple interrupts or a single muxed IRQ),
> > or they have to resort to polling. For the latter, fall-back handling
> > is needed elsewhere in the driver.
> > To me it sounds much more logical for the driver to check if an
> > optional irq is non-zero (available) or zero (not available), than to
> > sprinkle around checks for -ENXIO. In addition, you have to remember
> > that this one returns -ENXIO, while other APIs use -ENOENT or -ENOSYS
> > (or some other error code) to indicate absence. I thought not having
> > to care about the actual error code was the main reason behind the
> > introduction of the *_optional() APIs.
> 
> The *_optional() functions return an error code if there has been a
> real error which should be reported up the call stack. This excludes
> whatever error code indicates the requested resource does not exist,
> which can be -ENODEV etc. If the device does not exist, a magic cookie
> is returned which appears to be a valid resources but in fact is
> not. So the users of these functions just need to check for an error
> code, and fail the probe if present.
> 
> You seems to be suggesting in binary return value: non-zero
> (available) or zero (not available)


No, what is suggested is to (besides the API changes):
- do not treat ENXIO as something special in platform_get_irq*()
- allow platform_get_irq*() to return other error codes

> This discards the error code when something goes wrong. That is useful
> information to have, so we should not be discarding it.
> 
> IRQ don't currently have a magic cookie value. One option would be to
> add such a magic cookie to the subsystem. Otherwise, since 0 is
> invalid, return 0 to indicate the IRQ does not exist.
> 
> The request for a script checking this then makes sense. However, i
> don't know how well coccinelle/sparse can track values across function
> calls. They probably can check for:
> 
>    ret = irq_get_optional()
>    if (ret < 0)
>       return ret;
> 
> A missing if < 0 statement somewhere later is very likely to be an
> error. A comparison of <= 0 is also likely to be an error. A check for
> > 0 before calling any other IRQ functions would be good. I'm
> surprised such a check does not already existing in the IRQ API, but
> there are probably historical reasons for that.
> 
>       Andrew

-- 
With Best Regards,
Andy Shevchenko



-- 
linux-phy mailing list
linux-phy@lists.infradead.org
https://lists.infradead.org/mailman/listinfo/linux-phy

  reply	other threads:[~2022-01-12 16:48 UTC|newest]

Thread overview: 466+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20220110195449.12448-1-s.shtylyov@omp.ru>
2022-01-10 19:54 ` [PATCH 1/2] platform: make platform_get_irq_optional() optional Sergey Shtylyov
2022-01-10 19:54   ` Sergey Shtylyov
2022-01-10 19:54   ` Sergey Shtylyov
2022-01-10 19:54   ` Sergey Shtylyov
2022-01-10 19:54   ` Sergey Shtylyov
2022-01-10 20:10   ` Uwe Kleine-König
2022-01-10 20:10     ` Uwe Kleine-König
2022-01-10 20:10     ` Uwe Kleine-König
2022-01-10 20:10     ` Uwe Kleine-König
2022-01-10 20:10     ` Uwe Kleine-König
2022-01-10 21:07     ` Andy Shevchenko
2022-01-10 21:07       ` Andy Shevchenko
2022-01-10 21:07       ` Andy Shevchenko
2022-01-10 21:07       ` Andy Shevchenko
2022-01-10 21:07       ` Andy Shevchenko
2022-01-10 21:44       ` Uwe Kleine-König
2022-01-10 21:44         ` Uwe Kleine-König
2022-01-10 21:44         ` Uwe Kleine-König
2022-01-10 21:44         ` Uwe Kleine-König
2022-01-10 21:44         ` Uwe Kleine-König
2022-01-10 21:18     ` Andrew Lunn
2022-01-10 21:18       ` Andrew Lunn
2022-01-10 21:18       ` Andrew Lunn
2022-01-10 21:18       ` Andrew Lunn
2022-01-10 21:18       ` Andrew Lunn
2022-01-12  8:33       ` Geert Uytterhoeven
2022-01-12  8:33         ` Geert Uytterhoeven
2022-01-12  8:33         ` Geert Uytterhoeven
2022-01-12  8:33         ` Geert Uytterhoeven
2022-01-12  8:33         ` Geert Uytterhoeven
2022-01-12  8:50         ` Uwe Kleine-König
2022-01-12  8:50           ` Uwe Kleine-König
2022-01-12  8:50           ` Uwe Kleine-König
2022-01-12  8:50           ` Uwe Kleine-König
2022-01-12  8:50           ` Uwe Kleine-König
2022-01-12 10:27           ` Geert Uytterhoeven
2022-01-12 10:27             ` Geert Uytterhoeven
2022-01-12 10:27             ` Geert Uytterhoeven
2022-01-12 10:27             ` Geert Uytterhoeven
2022-01-12 10:27             ` Geert Uytterhoeven
2022-01-12 12:27             ` Andy Shevchenko
2022-01-12 12:27               ` Andy Shevchenko
2022-01-12 12:27               ` Andy Shevchenko
2022-01-12 12:27               ` Andy Shevchenko
2022-01-12 12:27               ` Andy Shevchenko
2022-01-12 13:38             ` Andrew Lunn
2022-01-12 13:38               ` Andrew Lunn
2022-01-12 13:38               ` Andrew Lunn
2022-01-12 13:38               ` Andrew Lunn
2022-01-12 13:38               ` Andrew Lunn
2022-01-12 13:51               ` Andy Shevchenko [this message]
2022-01-12 13:51                 ` Andy Shevchenko
2022-01-12 13:51                 ` Andy Shevchenko
2022-01-12 13:51                 ` Andy Shevchenko
2022-01-12 13:51                 ` Andy Shevchenko
2022-01-12 13:54               ` Geert Uytterhoeven
2022-01-12 13:54                 ` Geert Uytterhoeven
2022-01-12 13:54                 ` Geert Uytterhoeven
2022-01-12 13:54                 ` Geert Uytterhoeven
2022-01-12 13:54                 ` Geert Uytterhoeven
2022-01-12 14:41                 ` Rafael J. Wysocki
2022-01-12 14:41                   ` Rafael J. Wysocki
2022-01-12 14:41                   ` Rafael J. Wysocki
2022-01-12 14:41                   ` Rafael J. Wysocki
2022-01-12 14:41                   ` Rafael J. Wysocki
2022-01-12 15:05                   ` Sergey Shtylyov
2022-01-12 15:05                     ` Sergey Shtylyov
2022-01-12 15:05                     ` Sergey Shtylyov
2022-01-12 15:05                     ` Sergey Shtylyov
2022-01-12 15:05                     ` Sergey Shtylyov
2022-01-12 15:13                     ` Hans de Goede
2022-01-12 15:13                       ` Hans de Goede
2022-01-12 15:13                       ` Hans de Goede
2022-01-12 15:13                       ` Hans de Goede
2022-01-12 15:13                       ` Hans de Goede
2022-01-12 15:48                       ` Rafael J. Wysocki
2022-01-12 15:48                         ` Rafael J. Wysocki
2022-01-12 15:48                         ` Rafael J. Wysocki
2022-01-12 15:48                         ` Rafael J. Wysocki
2022-01-12 15:48                         ` Rafael J. Wysocki
2022-01-12 16:21                   ` Andy Shevchenko
2022-01-12 16:21                     ` Andy Shevchenko
2022-01-12 16:21                     ` Andy Shevchenko
2022-01-12 16:21                     ` Andy Shevchenko
2022-01-12 16:21                     ` Andy Shevchenko
2022-01-12 21:31             ` Uwe Kleine-König
2022-01-12 21:31               ` Uwe Kleine-König
2022-01-12 21:31               ` Uwe Kleine-König
2022-01-12 21:31               ` Uwe Kleine-König
2022-01-12 21:31               ` Uwe Kleine-König
2022-01-12 21:45               ` Mark Brown
2022-01-12 21:45                 ` Mark Brown
2022-01-12 21:45                 ` Mark Brown
2022-01-12 21:45                 ` Mark Brown
2022-01-12 21:45                 ` Mark Brown
2022-01-13 11:08                 ` Uwe Kleine-König
2022-01-13 11:08                   ` Uwe Kleine-König
2022-01-13 11:08                   ` Uwe Kleine-König
2022-01-13 11:08                   ` Uwe Kleine-König
2022-01-13 11:08                   ` Uwe Kleine-König
2022-01-13 14:45                   ` Mark Brown
2022-01-13 14:45                     ` Mark Brown
2022-01-13 14:45                     ` Mark Brown
2022-01-13 14:45                     ` Mark Brown
2022-01-13 14:45                     ` Mark Brown
2022-01-13 19:43                     ` [PATCH] driver core: platform: Rename platform_get_irq_optional() to platform_get_irq_silent() Uwe Kleine-König
2022-01-13 19:43                       ` Uwe Kleine-König
2022-01-13 19:43                       ` Uwe Kleine-König
2022-01-13 19:43                       ` Uwe Kleine-König
2022-01-13 19:43                       ` Uwe Kleine-König
2022-01-13 20:17                       ` Mark Brown
2022-01-13 20:17                         ` Mark Brown
2022-01-13 20:17                         ` Mark Brown
2022-01-13 20:17                         ` Mark Brown
2022-01-13 20:17                         ` Mark Brown
2022-01-13 20:57                         ` Sergey Shtylyov
2022-01-13 20:57                           ` Sergey Shtylyov
2022-01-13 20:57                           ` Sergey Shtylyov
2022-01-13 20:57                           ` Sergey Shtylyov
2022-01-13 20:57                           ` Sergey Shtylyov
2022-01-13 22:43                           ` Uwe Kleine-König
2022-01-13 22:43                             ` Uwe Kleine-König
2022-01-13 22:43                             ` Uwe Kleine-König
2022-01-13 22:43                             ` Uwe Kleine-König
2022-01-13 22:43                             ` Uwe Kleine-König
2022-01-14  9:58                             ` Geert Uytterhoeven
2022-01-14  9:58                               ` Geert Uytterhoeven
2022-01-14  9:58                               ` Geert Uytterhoeven
2022-01-14  9:58                               ` Geert Uytterhoeven
2022-01-14  9:58                               ` Geert Uytterhoeven
2022-01-15 15:21                               ` Uwe Kleine-König
2022-01-15 15:21                                 ` Uwe Kleine-König
2022-01-15 15:21                                 ` Uwe Kleine-König
2022-01-15 15:21                                 ` Uwe Kleine-König
2022-01-15 15:21                                 ` Uwe Kleine-König
2022-01-15 21:06                                 ` Sergey Shtylyov
2022-01-15 21:06                                   ` Sergey Shtylyov
2022-01-15 21:06                                   ` Sergey Shtylyov
2022-01-15 21:06                                   ` Sergey Shtylyov
2022-01-15 21:06                                   ` Sergey Shtylyov
2022-01-14 11:34                           ` Sergey Shtylyov
2022-01-14 11:34                             ` Sergey Shtylyov
2022-01-14 11:34                             ` Sergey Shtylyov
2022-01-14 11:34                             ` Sergey Shtylyov
2022-01-14 11:34                             ` Sergey Shtylyov
2022-01-13 20:31                       ` Guenter Roeck
2022-01-13 20:31                         ` Guenter Roeck
2022-01-13 20:31                         ` Guenter Roeck
2022-01-13 20:31                         ` Guenter Roeck
2022-01-13 20:31                         ` Guenter Roeck
2022-01-13 21:42                       ` Florian Fainelli
2022-01-13 21:42                         ` Florian Fainelli
2022-01-13 21:42                         ` Florian Fainelli
2022-01-13 21:42                         ` Florian Fainelli
2022-01-13 21:42                         ` Florian Fainelli
2022-01-13 23:06                         ` Uwe Kleine-König
2022-01-13 23:06                           ` Uwe Kleine-König
2022-01-13 23:06                           ` Uwe Kleine-König
2022-01-13 23:06                           ` Uwe Kleine-König
2022-01-13 23:06                           ` Uwe Kleine-König
2022-01-14 17:55                         ` Sergey Shtylyov
2022-01-14 17:55                           ` Sergey Shtylyov
2022-01-14 17:55                           ` Sergey Shtylyov
2022-01-14 17:55                           ` Sergey Shtylyov
2022-01-14 17:55                           ` Sergey Shtylyov
2022-01-15 13:55                           ` Uwe Kleine-König
2022-01-15 13:55                             ` Uwe Kleine-König
2022-01-15 13:55                             ` Uwe Kleine-König
2022-01-15 13:55                             ` Uwe Kleine-König
2022-01-15 13:55                             ` Uwe Kleine-König
2022-01-19 18:36                             ` Andy Shevchenko
2022-01-19 18:36                               ` Andy Shevchenko
2022-01-19 18:36                               ` Andy Shevchenko
2022-01-19 18:36                               ` Andy Shevchenko
2022-01-19 18:36                               ` Andy Shevchenko
2022-01-19 19:44                               ` Sergey Shtylyov
2022-01-19 19:44                                 ` Sergey Shtylyov
2022-01-19 19:44                                 ` Sergey Shtylyov
2022-01-19 19:44                                 ` Sergey Shtylyov
2022-01-19 19:44                                 ` Sergey Shtylyov
2022-01-19 18:40                             ` Andy Shevchenko
2022-01-19 18:40                               ` Andy Shevchenko
2022-01-19 18:40                               ` Andy Shevchenko
2022-01-19 18:40                               ` Andy Shevchenko
2022-01-19 18:40                               ` Andy Shevchenko
2022-01-14  6:57                       ` Peter Korsgaard
2022-01-14  6:57                         ` Peter Korsgaard
2022-01-14  6:57                         ` Peter Korsgaard
2022-01-14  6:57                         ` Peter Korsgaard
2022-01-14  6:57                         ` Peter Korsgaard
2022-01-14 13:04                       ` Andy Shevchenko
2022-01-14 13:04                         ` Andy Shevchenko
2022-01-14 13:04                         ` Andy Shevchenko
2022-01-14 13:04                         ` Andy Shevchenko
2022-01-14 13:04                         ` Andy Shevchenko
2022-01-15 15:45                         ` Uwe Kleine-König
2022-01-15 15:45                           ` Uwe Kleine-König
2022-01-15 15:45                           ` Uwe Kleine-König
2022-01-15 15:45                           ` Uwe Kleine-König
2022-01-15 15:45                           ` Uwe Kleine-König
2022-01-19 18:51                           ` Andy Shevchenko
2022-01-19 18:51                             ` Andy Shevchenko
2022-01-19 18:51                             ` Andy Shevchenko
2022-01-19 18:51                             ` Andy Shevchenko
2022-01-19 18:51                             ` Andy Shevchenko
2022-01-19 19:47                             ` Sergey Shtylyov
2022-01-19 19:47                               ` Sergey Shtylyov
2022-01-19 19:47                               ` Sergey Shtylyov
2022-01-19 19:47                               ` Sergey Shtylyov
2022-01-19 19:47                               ` Sergey Shtylyov
2022-01-19 20:55                               ` Andy Shevchenko
2022-01-19 20:55                                 ` Andy Shevchenko
2022-01-19 20:55                                 ` Andy Shevchenko
2022-01-19 20:55                                 ` Andy Shevchenko
2022-01-19 20:55                                 ` Andy Shevchenko
2022-01-20  7:57                             ` Uwe Kleine-König
2022-01-20  7:57                               ` Uwe Kleine-König
2022-01-20  7:57                               ` Uwe Kleine-König
2022-01-20  7:57                               ` Uwe Kleine-König
2022-01-24 15:01                               ` Andy Shevchenko
2022-01-24 15:01                                 ` Andy Shevchenko
2022-01-24 15:01                                 ` Andy Shevchenko
2022-01-24 15:01                                 ` Andy Shevchenko
2022-01-24 15:01                                 ` Andy Shevchenko
2022-01-24 21:02                                 ` Sergey Shtylyov
2022-01-24 21:02                                   ` Sergey Shtylyov
2022-01-24 21:02                                   ` Sergey Shtylyov
2022-01-24 21:02                                   ` Sergey Shtylyov
2022-01-24 21:02                                   ` Sergey Shtylyov
2022-01-25  8:25                                   ` Geert Uytterhoeven
2022-01-25  8:25                                     ` Geert Uytterhoeven
2022-01-25  8:25                                     ` Geert Uytterhoeven
2022-01-25  8:25                                     ` Geert Uytterhoeven
2022-01-25  8:25                                     ` Geert Uytterhoeven
2022-01-25 12:56                                     ` Matthias Schiffer
2022-01-25 12:56                                       ` Matthias Schiffer
2022-01-25 12:56                                       ` Matthias Schiffer
2022-01-25 12:56                                       ` Matthias Schiffer
2022-01-25 12:56                                       ` Matthias Schiffer
2022-01-25 14:01                                       ` Andy Shevchenko
2022-01-25 14:01                                         ` Andy Shevchenko
2022-01-25 14:01                                         ` Andy Shevchenko
2022-01-25 14:01                                         ` Andy Shevchenko
2022-01-25 14:01                                         ` Andy Shevchenko
2022-01-14 19:45                       ` Sergey Shtylyov
2022-01-14 19:45                         ` Sergey Shtylyov
2022-01-14 19:45                         ` Sergey Shtylyov
2022-01-14 19:45                         ` Sergey Shtylyov
2022-01-14 19:45                         ` Sergey Shtylyov
2022-01-14 20:29                         ` Uwe Kleine-König
2022-01-14 20:29                           ` Uwe Kleine-König
2022-01-14 20:29                           ` Uwe Kleine-König
2022-01-14 20:29                           ` Uwe Kleine-König
2022-01-14 20:29                           ` Uwe Kleine-König
2022-01-15 13:08                           ` Sergey Shtylyov
2022-01-15 13:08                             ` Sergey Shtylyov
2022-01-15 13:08                             ` Sergey Shtylyov
2022-01-15 13:08                             ` Sergey Shtylyov
2022-01-15 13:08                             ` Sergey Shtylyov
2022-01-19 18:52                         ` Andy Shevchenko
2022-01-19 18:52                           ` Andy Shevchenko
2022-01-19 18:52                           ` Andy Shevchenko
2022-01-19 18:52                           ` Andy Shevchenko
2022-01-19 18:52                           ` Andy Shevchenko
2022-01-13 20:35                 ` [PATCH 1/2] platform: make platform_get_irq_optional() optional Sergey Shtylyov
2022-01-13 20:35                   ` Sergey Shtylyov
2022-01-13 20:35                   ` Sergey Shtylyov
2022-01-13 20:35                   ` Sergey Shtylyov
2022-01-13 20:35                   ` Sergey Shtylyov
2022-01-14  9:25                   ` Uwe Kleine-König
2022-01-14  9:25                     ` Uwe Kleine-König
2022-01-14  9:25                     ` Uwe Kleine-König
2022-01-14  9:25                     ` Uwe Kleine-König
2022-01-14  9:25                     ` Uwe Kleine-König
2022-01-14  9:39                     ` Geert Uytterhoeven
2022-01-14  9:39                       ` Geert Uytterhoeven
2022-01-14  9:39                       ` Geert Uytterhoeven
2022-01-14  9:39                       ` Geert Uytterhoeven
2022-01-14  9:39                       ` Geert Uytterhoeven
2022-01-14 19:14                     ` Sergey Shtylyov
2022-01-14 19:14                       ` Sergey Shtylyov
2022-01-14 19:14                       ` Sergey Shtylyov
2022-01-14 19:14                       ` Sergey Shtylyov
2022-01-14 19:14                       ` Sergey Shtylyov
2022-01-14 20:22                       ` Uwe Kleine-König
2022-01-14 20:22                         ` Uwe Kleine-König
2022-01-14 20:22                         ` Uwe Kleine-König
2022-01-14 20:22                         ` Uwe Kleine-König
2022-01-14 20:22                         ` Uwe Kleine-König
2022-01-15 20:22                         ` Sergey Shtylyov
2022-01-15 20:22                           ` Sergey Shtylyov
2022-01-15 20:22                           ` Sergey Shtylyov
2022-01-15 20:22                           ` Sergey Shtylyov
2022-01-15 20:22                           ` Sergey Shtylyov
2022-01-17  8:41                           ` Geert Uytterhoeven
2022-01-17  8:41                             ` Geert Uytterhoeven
2022-01-17  8:41                             ` Geert Uytterhoeven
2022-01-17  8:41                             ` Geert Uytterhoeven
2022-01-17  8:41                             ` Geert Uytterhoeven
2022-01-17  9:24                             ` Uwe Kleine-König
2022-01-17  9:24                               ` Uwe Kleine-König
2022-01-17  9:24                               ` Uwe Kleine-König
2022-01-17  9:24                               ` Uwe Kleine-König
2022-01-17  9:24                               ` Uwe Kleine-König
2022-01-17 10:35                               ` Geert Uytterhoeven
2022-01-17 10:35                                 ` Geert Uytterhoeven
2022-01-17 10:35                                 ` Geert Uytterhoeven
2022-01-17 10:35                                 ` Geert Uytterhoeven
2022-01-17 10:35                                 ` Geert Uytterhoeven
2022-01-17 11:49                                 ` Uwe Kleine-König
2022-01-17 11:49                                   ` Uwe Kleine-König
2022-01-17 11:49                                   ` Uwe Kleine-König
2022-01-17 11:49                                   ` Uwe Kleine-König
2022-01-17 11:49                                   ` Uwe Kleine-König
2022-01-17 13:08                                   ` Geert Uytterhoeven
2022-01-17 13:08                                     ` Geert Uytterhoeven
2022-01-17 13:08                                     ` Geert Uytterhoeven
2022-01-17 13:08                                     ` Geert Uytterhoeven
2022-01-17 13:08                                     ` Geert Uytterhoeven
2022-01-17 17:06                                     ` Uwe Kleine-König
2022-01-17 17:06                                       ` Uwe Kleine-König
2022-01-17 17:06                                       ` Uwe Kleine-König
2022-01-17 17:06                                       ` Uwe Kleine-König
2022-01-17 17:06                                       ` Uwe Kleine-König
2022-01-18  8:25                                       ` Geert Uytterhoeven
2022-01-18  8:25                                         ` Geert Uytterhoeven
2022-01-18  8:25                                         ` Geert Uytterhoeven
2022-01-18  8:25                                         ` Geert Uytterhoeven
2022-01-18  8:25                                         ` Geert Uytterhoeven
2022-01-18  9:09                                         ` Uwe Kleine-König
2022-01-18  9:09                                           ` Uwe Kleine-König
2022-01-18  9:09                                           ` Uwe Kleine-König
2022-01-18  9:09                                           ` Uwe Kleine-König
2022-01-18  9:09                                           ` Uwe Kleine-König
2022-01-18  9:37                                           ` Geert Uytterhoeven
2022-01-18  9:37                                             ` Geert Uytterhoeven
2022-01-18  9:37                                             ` Geert Uytterhoeven
2022-01-18  9:37                                             ` Geert Uytterhoeven
2022-01-18  9:37                                             ` Geert Uytterhoeven
2022-01-18 12:08                                             ` Uwe Kleine-König
2022-01-18 12:08                                               ` Uwe Kleine-König
2022-01-18 12:08                                               ` Uwe Kleine-König
2022-01-18 12:08                                               ` Uwe Kleine-König
2022-01-18 12:08                                               ` Uwe Kleine-König
2022-01-18 12:49                                               ` Geert Uytterhoeven
2022-01-18 12:49                                                 ` Geert Uytterhoeven
2022-01-18 12:49                                                 ` Geert Uytterhoeven
2022-01-18 12:49                                                 ` Geert Uytterhoeven
2022-01-18 12:49                                                 ` Geert Uytterhoeven
2022-01-18 14:29                                                 ` Uwe Kleine-König
2022-01-18 14:29                                                   ` Uwe Kleine-König
2022-01-18 14:29                                                   ` Uwe Kleine-König
2022-01-18 14:29                                                   ` Uwe Kleine-König
2022-01-18 14:29                                                   ` Uwe Kleine-König
2022-01-19 16:12                                                   ` Sergey Shtylyov
2022-01-19 16:12                                                     ` Sergey Shtylyov
2022-01-19 16:12                                                     ` Sergey Shtylyov
2022-01-19 16:12                                                     ` Sergey Shtylyov
2022-01-19 16:12                                                     ` Sergey Shtylyov
2022-01-19 18:29                                                     ` Sergey Shtylyov
2022-01-19 18:29                                                       ` Sergey Shtylyov
2022-01-19 18:29                                                       ` Sergey Shtylyov
2022-01-19 18:29                                                       ` Sergey Shtylyov
2022-01-19 18:29                                                       ` Sergey Shtylyov
2022-01-20 11:27                                     ` Sergey Shtylyov
2022-01-20 11:27                                       ` Sergey Shtylyov
2022-01-20 11:27                                       ` Sergey Shtylyov
2022-01-20 11:27                                       ` Sergey Shtylyov
2022-01-16 18:15                         ` Sergey Shtylyov
2022-01-16 18:15                           ` Sergey Shtylyov
2022-01-16 18:15                           ` Sergey Shtylyov
2022-01-16 18:15                           ` Sergey Shtylyov
2022-01-16 18:15                           ` Sergey Shtylyov
2022-01-17  8:47                           ` Uwe Kleine-König
2022-01-17  8:47                             ` Uwe Kleine-König
2022-01-17  8:47                             ` Uwe Kleine-König
2022-01-17  8:47                             ` Uwe Kleine-König
2022-01-17  8:47                             ` Uwe Kleine-König
2022-01-18 20:21                             ` Sergey Shtylyov
2022-01-18 20:21                               ` Sergey Shtylyov
2022-01-18 20:21                               ` Sergey Shtylyov
2022-01-18 20:21                               ` Sergey Shtylyov
2022-01-18 20:21                               ` Sergey Shtylyov
2022-01-18 22:26                               ` Uwe Kleine-König
2022-01-18 22:26                                 ` Uwe Kleine-König
2022-01-18 22:26                                 ` Uwe Kleine-König
2022-01-18 22:26                                 ` Uwe Kleine-König
2022-01-18 22:26                                 ` Uwe Kleine-König
2022-01-19 15:34                                 ` Sergey Shtylyov
2022-01-19 15:34                                   ` Sergey Shtylyov
2022-01-19 15:34                                   ` Sergey Shtylyov
2022-01-19 15:34                                   ` Sergey Shtylyov
2022-01-19 15:34                                   ` Sergey Shtylyov
2022-01-19 18:58                             ` Andy Shevchenko
2022-01-19 18:58                               ` Andy Shevchenko
2022-01-19 18:58                               ` Andy Shevchenko
2022-01-19 18:58                               ` Andy Shevchenko
2022-01-19 18:58                               ` Andy Shevchenko
2022-01-19 19:49                               ` Sergey Shtylyov
2022-01-19 19:49                                 ` Sergey Shtylyov
2022-01-19 19:49                                 ` Sergey Shtylyov
2022-01-19 19:49                                 ` Sergey Shtylyov
2022-01-19 19:49                                 ` Sergey Shtylyov
2022-01-14 18:46                   ` Sergey Shtylyov
2022-01-14 18:46                     ` Sergey Shtylyov
2022-01-14 18:46                     ` Sergey Shtylyov
2022-01-14 18:46                     ` Sergey Shtylyov
2022-01-14 18:46                     ` Sergey Shtylyov
2022-01-15 18:36   ` [PATCH 1/2] platform: make platform_get_irq_optional() optional (summary) Uwe Kleine-König
2022-01-15 18:36     ` Uwe Kleine-König
2022-01-15 18:36     ` Uwe Kleine-König
2022-01-15 18:36     ` Uwe Kleine-König
2022-01-15 18:36     ` Uwe Kleine-König
2022-01-16 14:19     ` Greg Kroah-Hartman
2022-01-16 14:19       ` Greg Kroah-Hartman
2022-01-16 14:19       ` Greg Kroah-Hartman
2022-01-16 14:19       ` Greg Kroah-Hartman
2022-01-16 14:19       ` Greg Kroah-Hartman
2022-01-18  9:18       ` Uwe Kleine-König
2022-01-18  9:18         ` Uwe Kleine-König
2022-01-18  9:18         ` Uwe Kleine-König
2022-01-18  9:18         ` Uwe Kleine-König
2022-01-18  9:18         ` Uwe Kleine-König
2022-01-18  9:32         ` Greg Kroah-Hartman
2022-01-18  9:32           ` Greg Kroah-Hartman
2022-01-18  9:32           ` Greg Kroah-Hartman
2022-01-18  9:32           ` Greg Kroah-Hartman
2022-01-18  9:32           ` Greg Kroah-Hartman
2022-01-19 10:56         ` Sergey Shtylyov
2022-01-19 10:56           ` Sergey Shtylyov
2022-01-19 10:56           ` Sergey Shtylyov
2022-01-19 10:56           ` Sergey Shtylyov
2022-01-19 10:56           ` Sergey Shtylyov
2022-01-19 11:33           ` Uwe Kleine-König
2022-01-19 11:33             ` Uwe Kleine-König
2022-01-19 11:33             ` Uwe Kleine-König
2022-01-19 11:33             ` Uwe Kleine-König
2022-01-19 11:33             ` Uwe Kleine-König
2022-01-19 11:42             ` Sergey Shtylyov
2022-01-19 11:42               ` Sergey Shtylyov
2022-01-19 11:42               ` Sergey Shtylyov
2022-01-19 11:42               ` Sergey Shtylyov
2022-01-19 11:42               ` Sergey Shtylyov
2022-01-19 19:06     ` Andy Shevchenko
2022-01-19 19:06       ` Andy Shevchenko
2022-01-19 19:06       ` Andy Shevchenko
2022-01-19 19:06       ` Andy Shevchenko
2022-01-19 19:06       ` Andy Shevchenko
2022-01-17 11:57   ` [PATCH 1/2] platform: make platform_get_irq_optional() optional Sergey Shtylyov
2022-01-17 11:57     ` Sergey Shtylyov
2022-01-17 11:57     ` Sergey Shtylyov
2022-01-17 11:57     ` Sergey Shtylyov
2022-01-17 11:57     ` Sergey Shtylyov
2022-01-19 15:02     ` Uwe Kleine-König
2022-01-19 15:02       ` Uwe Kleine-König
2022-01-19 15:02       ` Uwe Kleine-König
2022-01-19 15:02       ` Uwe Kleine-König
2022-01-19 15:02       ` Uwe Kleine-König
2022-01-19 15:50       ` Sergey Shtylyov
2022-01-19 15:50         ` Sergey Shtylyov
2022-01-19 15:50         ` Sergey Shtylyov
2022-01-19 15:50         ` Sergey Shtylyov
2022-01-19 15:50         ` Sergey Shtylyov
2022-01-10 19:54 ` [PATCH 2/2] platform: make platform_get_irq_byname_optional() optional Sergey Shtylyov
2022-01-10 19:54   ` Sergey Shtylyov
2022-01-10 19:54   ` Sergey Shtylyov

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=Yd7c3BTcdXcbHDUM@smile.fi.intel.com \
    --to=andriy.shevchenko@linux.intel.com \
    --cc=alex.williamson@redhat.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=amitk@kernel.org \
    --cc=andrew@lunn.ch \
    --cc=bcm-kernel-feedback-list@broadcom.com \
    --cc=bleung@chromium.org \
    --cc=bp@alien8.de \
    --cc=brgl@bgdev.pl \
    --cc=broonie@kernel.org \
    --cc=cohuck@redhat.com \
    --cc=computersforpeace@gmail.com \
    --cc=daniel.lezcano@linaro.org \
    --cc=davem@davemloft.net \
    --cc=eric.auger@redhat.com \
    --cc=f.fainelli@gmail.com \
    --cc=geert@linux-m68k.org \
    --cc=gregkh@linuxfoundation.org \
    --cc=groeck@chromium.org \
    --cc=hdegoede@redhat.com \
    --cc=james.morse@arm.com \
    --cc=jirislaby@kernel.org \
    --cc=john.garry@huawei.com \
    --cc=kdasu.kdev@gmail.com \
    --cc=kernel@pengutronix.de \
    --cc=khuong@os.amperecomputing.com \
    --cc=kishon@ti.com \
    --cc=kuba@kernel.org \
    --cc=kvm@vger.kernel.org \
    --cc=lee.jones@linaro.org \
    --cc=lgirdwood@gmail.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-edac@vger.kernel.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-i2c@vger.kernel.org \
    --cc=linux-iio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-mmc@vger.kernel.org \
    --cc=linux-mtd@lists.infradead.org \
    --cc=linux-phy@lists.infradead.org \
    --cc=linux-pm@vger.kernel.org \
    --cc=linux-pwm@vger.kernel.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=linux-serial@vger.kernel.org \
    --cc=linux-spi@vger.kernel.org \
    --cc=markgross@kernel.org \
    --cc=matthias.bgg@gmail.com \
    --cc=matthias.schiffer@ew.tq-group.com \
    --cc=mchehab@kernel.org \
    --cc=minyard@acm.org \
    --cc=miquel.raynal@bootlin.com \
    --cc=mun.yew.tham@intel.com \
    --cc=netdev@vger.kernel.org \
    --cc=niklas.soderlund@ragnatech.se \
    --cc=openipmi-developer@lists.sourceforge.net \
    --cc=peter@korsgaard.com \
    --cc=platform-driver-x86@vger.kernel.org \
    --cc=qiangqing.zhang@nxp.com \
    --cc=qipeng.zha@intel.com \
    --cc=rafael@kernel.org \
    --cc=richard@nod.at \
    --cc=rric@kernel.org \
    --cc=rui.zhang@intel.com \
    --cc=s.shtylyov@omp.ru \
    --cc=sravanhome@gmail.com \
    --cc=sre@kernel.org \
    --cc=thierry.reding@gmail.com \
    --cc=tiwai@suse.com \
    --cc=tony.luck@intel.com \
    --cc=u.kleine-koenig@pengutronix.de \
    --cc=ulf.hansson@linaro.org \
    --cc=vigneshr@ti.com \
    --cc=vilhelm.gray@gmail.com \
    --cc=vkoul@kernel.org \
    --cc=yoshihiro.shimoda.uh@renesas.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.