[PATCH] HID-PICOLCD: Dummy hid-picolcd functions should return error code

Subsystems: hid core layer, picolcd hid driver, the rest

STALE3762d

2 messages, 2 authors, 2016-06-22 · open the first message on its own page

[PATCH] HID-PICOLCD: Dummy hid-picolcd functions should return error code

From: Arvind Yadav <hidden>
Date: 2016-06-21 19:34:56

- inline picolcd_fb_reset and picolcd_init_framebuffer stub simply
  allows compilation on systems with CONFIG_HID_PICOLCD_FB disabled.
- inline picolcd_init_backlight and picolcd_resume_backlight stub
  simply allows compilation on systems with CONFIG_HID_PICOLCD_BACKLIGHT
  disabled.
- inline picolcd_init_lcd and picolcd_resume_lcd stub simply allows
  compilation on systems with CONFIG_HID_PICOLCD_LCD disabled.
- inline picolcd_init_leds stub simply allows compilation on systems
  with CONFIG_HID_PICOLCD_LEDS disabled.
- inline picolcd_init_cir stub simply allows compilation on systems
  with CONFIG_HID_PICOLCD_CIR disabled.

Signed-off-by: Arvind Yadav <redacted>
---
 drivers/hid/hid-picolcd.h | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/hid/hid-picolcd.h b/drivers/hid/hid-picolcd.h
index e56d847..7e6c10a 100644
--- a/drivers/hid/hid-picolcd.h
+++ b/drivers/hid/hid-picolcd.h
@@ -17,6 +17,8 @@
  *   along with this software. If not see <http://www.gnu.org/licenses/>.  *
  ***************************************************************************/
 
+#include <linux/errno.h>
+
 #define PICOLCD_NAME "PicoLCD (graphic)"
 
 /* Report numbers */
@@ -192,11 +194,11 @@ void picolcd_fb_refresh(struct picolcd_data *data);
 #else
 static inline int picolcd_fb_reset(struct picolcd_data *data, int clear)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline int picolcd_init_framebuffer(struct picolcd_data *data)
 {
-	return 0;
+	return -ENOMEM;
 }
 static inline void picolcd_exit_framebuffer(struct picolcd_data *data)
 {
@@ -221,14 +223,14 @@ void picolcd_suspend_backlight(struct picolcd_data *data);
 static inline int picolcd_init_backlight(struct picolcd_data *data,
 		struct hid_report *report)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_exit_backlight(struct picolcd_data *data)
 {
 }
 static inline int picolcd_resume_backlight(struct picolcd_data *data)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_suspend_backlight(struct picolcd_data *data)
 {
@@ -248,14 +250,14 @@ int picolcd_resume_lcd(struct picolcd_data *data);
 static inline int picolcd_init_lcd(struct picolcd_data *data,
 		struct hid_report *report)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_exit_lcd(struct picolcd_data *data)
 {
 }
 static inline int picolcd_resume_lcd(struct picolcd_data *data)
 {
-	return 0;
+	return -ENODEV;
 }
 #endif /* CONFIG_HID_PICOLCD_LCD */
 
@@ -271,7 +273,7 @@ void picolcd_leds_set(struct picolcd_data *data);
 static inline int picolcd_init_leds(struct picolcd_data *data,
 		struct hid_report *report)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_exit_leds(struct picolcd_data *data)
 {
@@ -297,7 +299,7 @@ static inline int picolcd_raw_cir(struct picolcd_data *data,
 }
 static inline int picolcd_init_cir(struct picolcd_data *data, struct hid_report *report)
 {
-	return 0;
+	return -ENOMEM;
 }
 static inline void picolcd_exit_cir(struct picolcd_data *data)
 {
-- 
1.9.1

Re: [PATCH] HID-PICOLCD: Dummy hid-picolcd functions should return error code

From: Bruno Prémont <bonbons@linux-vserver.org>
Date: 2016-06-22 07:42:49

Hi Arvind,

I can only NACK this patch as it would cause the driver to refuse
probe()ing if any of the features are disabled in kernel configuration.

Have a look at the callers in hid-picolcd_code.c, if any of those
functions does return an error the probe function aborts with an error.


Your commit message talks about allowing compilation if features
are disabled, so which compilation errors do you get that changing
those return codes "fix"?
If you don't have such errors, I don't get your motivations for the
change out of your commit message.

Regards,
Bruno


On Wed, 22 Jun 2016 00:08:40 +0530 Arvind Yadav wrote:
quoted hunk
- inline picolcd_fb_reset and picolcd_init_framebuffer stub simply
  allows compilation on systems with CONFIG_HID_PICOLCD_FB disabled.
- inline picolcd_init_backlight and picolcd_resume_backlight stub
  simply allows compilation on systems with CONFIG_HID_PICOLCD_BACKLIGHT
  disabled.
- inline picolcd_init_lcd and picolcd_resume_lcd stub simply allows
  compilation on systems with CONFIG_HID_PICOLCD_LCD disabled.
- inline picolcd_init_leds stub simply allows compilation on systems
  with CONFIG_HID_PICOLCD_LEDS disabled.
- inline picolcd_init_cir stub simply allows compilation on systems
  with CONFIG_HID_PICOLCD_CIR disabled.

Signed-off-by: Arvind Yadav <redacted>
---
 drivers/hid/hid-picolcd.h | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)
diff --git a/drivers/hid/hid-picolcd.h b/drivers/hid/hid-picolcd.h
index e56d847..7e6c10a 100644
--- a/drivers/hid/hid-picolcd.h
+++ b/drivers/hid/hid-picolcd.h
@@ -17,6 +17,8 @@
  *   along with this software. If not see <http://www.gnu.org/licenses/>.  *
  ***************************************************************************/
 
+#include <linux/errno.h>
+
 #define PICOLCD_NAME "PicoLCD (graphic)"
 
 /* Report numbers */
@@ -192,11 +194,11 @@ void picolcd_fb_refresh(struct picolcd_data *data);
 #else
 static inline int picolcd_fb_reset(struct picolcd_data *data, int clear)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline int picolcd_init_framebuffer(struct picolcd_data *data)
 {
-	return 0;
+	return -ENOMEM;
 }
 static inline void picolcd_exit_framebuffer(struct picolcd_data *data)
 {
@@ -221,14 +223,14 @@ void picolcd_suspend_backlight(struct picolcd_data *data);
 static inline int picolcd_init_backlight(struct picolcd_data *data,
 		struct hid_report *report)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_exit_backlight(struct picolcd_data *data)
 {
 }
 static inline int picolcd_resume_backlight(struct picolcd_data *data)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_suspend_backlight(struct picolcd_data *data)
 {
@@ -248,14 +250,14 @@ int picolcd_resume_lcd(struct picolcd_data *data);
 static inline int picolcd_init_lcd(struct picolcd_data *data,
 		struct hid_report *report)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_exit_lcd(struct picolcd_data *data)
 {
 }
 static inline int picolcd_resume_lcd(struct picolcd_data *data)
 {
-	return 0;
+	return -ENODEV;
 }
 #endif /* CONFIG_HID_PICOLCD_LCD */
 
@@ -271,7 +273,7 @@ void picolcd_leds_set(struct picolcd_data *data);
 static inline int picolcd_init_leds(struct picolcd_data *data,
 		struct hid_report *report)
 {
-	return 0;
+	return -ENODEV;
 }
 static inline void picolcd_exit_leds(struct picolcd_data *data)
 {
@@ -297,7 +299,7 @@ static inline int picolcd_raw_cir(struct picolcd_data *data,
 }
 static inline int picolcd_init_cir(struct picolcd_data *data, struct hid_report *report)
 {
-	return 0;
+	return -ENOMEM;
 }
 static inline void picolcd_exit_cir(struct picolcd_data *data)
 {
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help