diff mbox

[2/3] thinkpad_acpi: Don't repeat ourselves in hotkey_init_tablet_mode()

Message ID 1477954535-12536-3-git-send-email-lyude@redhat.com (mailing list archive)
State Changes Requested, archived
Headers show

Commit Message

Lyude Paul Oct. 31, 2016, 10:55 p.m. UTC
There's no need to have multiple copies of the logic we use for checking
whether or not we're in tablet mode, so just use
hotkey_get_tablet_mode() when checking the initial state in
hotkey_init_tablet_mode().

Cc: Daniel Martin <consume.noise@gmail.com>
Signed-off-by: Lyude <lyude@redhat.com>
---
 drivers/platform/x86/thinkpad_acpi.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Comments

kernel test robot Oct. 31, 2016, 11:20 p.m. UTC | #1
Hi Lyude,

[auto build test ERROR on platform-drivers-x86/for-next]
[also build test ERROR on v4.9-rc3 next-20161028]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Lyude/Add-support-for-X1-Yoga-2016-Tablet-Mode-refactors/20161101-070155
base:   git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git for-next
config: x86_64-randconfig-x014-201644 (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=x86_64 

All errors (new ones prefixed by >>):

   drivers/platform/x86/thinkpad_acpi.c: In function 'hotkey_init_tablet_mode':
>> drivers/platform/x86/thinkpad_acpi.c:3139:31: error: passing argument 1 of 'hotkey_get_tablet_mode' from incompatible pointer type [-Werror=incompatible-pointer-types]
     res = hotkey_get_tablet_mode(&in_tablet_mode);
                                  ^
   drivers/platform/x86/thinkpad_acpi.c:2085:12: note: expected 'int *' but argument is of type 'bool * {aka _Bool *}'
    static int hotkey_get_tablet_mode(int *status)
               ^~~~~~~~~~~~~~~~~~~~~~
   cc1: some warnings being treated as errors

vim +/hotkey_get_tablet_mode +3139 drivers/platform/x86/thinkpad_acpi.c

  3133			type = "MHKG";
  3134		}
  3135	
  3136		if (!tp_features.hotkey_tablet)
  3137			return 0;
  3138	
> 3139		res = hotkey_get_tablet_mode(&in_tablet_mode);
  3140		if (res)
  3141			return res;
  3142	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot Oct. 31, 2016, 11:49 p.m. UTC | #2
Hi Lyude,

[auto build test WARNING on platform-drivers-x86/for-next]
[also build test WARNING on v4.9-rc3 next-20161028]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]
[Suggest to use git(>=2.9.0) format-patch --base=<commit> (or --base=auto for convenience) to record what (public, well-known) commit your patch series was built on]
[Check https://git-scm.com/docs/git-format-patch for more information]

url:    https://github.com/0day-ci/linux/commits/Lyude/Add-support-for-X1-Yoga-2016-Tablet-Mode-refactors/20161101-070155
base:   git://git.infradead.org/users/dvhart/linux-platform-drivers-x86.git for-next
config: i386-randconfig-c0-11010241 (attached as .config)
compiler: gcc-4.9 (Debian 4.9.4-2) 4.9.4
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All warnings (new ones prefixed by >>):

   drivers/platform/x86/thinkpad_acpi.c: In function 'hotkey_init_tablet_mode':
>> drivers/platform/x86/thinkpad_acpi.c:3139:31: warning: passing argument 1 of 'hotkey_get_tablet_mode' from incompatible pointer type
     res = hotkey_get_tablet_mode(&in_tablet_mode);
                                  ^
   drivers/platform/x86/thinkpad_acpi.c:2085:12: note: expected 'int *' but argument is of type 'bool *'
    static int hotkey_get_tablet_mode(int *status)
               ^

vim +/hotkey_get_tablet_mode +3139 drivers/platform/x86/thinkpad_acpi.c

  3123	static int
  3124	hotkey_init_tablet_mode(void)
  3125	{
  3126		int res;
  3127		char *type;
  3128		bool in_tablet_mode;
  3129	
  3130		/* For X41t, X60t, X61t Tablets... */
  3131		if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) {
  3132			tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_MHKG;
  3133			type = "MHKG";
  3134		}
  3135	
  3136		if (!tp_features.hotkey_tablet)
  3137			return 0;
  3138	
> 3139		res = hotkey_get_tablet_mode(&in_tablet_mode);
  3140		if (res)
  3141			return res;
  3142	
  3143		pr_info("Tablet mode switch found (type: %s), currently in %s mode\n",
  3144			type, in_tablet_mode ? "tablet" : "laptop");
  3145	
  3146		res = add_to_attr_set(hotkey_dev_attributes,
  3147				      &dev_attr_hotkey_tablet_mode.attr);

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox

Patch

diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c
index 369b483..92e8986 100644
--- a/drivers/platform/x86/thinkpad_acpi.c
+++ b/drivers/platform/x86/thinkpad_acpi.c
@@ -3130,13 +3130,16 @@  hotkey_init_tablet_mode(void)
 	/* For X41t, X60t, X61t Tablets... */
 	if (acpi_evalf(hkey_handle, &res, "MHKG", "qd")) {
 		tp_features.hotkey_tablet = TP_HOTKEY_TABLET_USES_MHKG;
-		in_tablet_mode = !!(res & TP_HOTKEY_TABLET_MASK);
 		type = "MHKG";
 	}
 
 	if (!tp_features.hotkey_tablet)
 		return 0;
 
+	res = hotkey_get_tablet_mode(&in_tablet_mode);
+	if (res)
+		return res;
+
 	pr_info("Tablet mode switch found (type: %s), currently in %s mode\n",
 		type, in_tablet_mode ? "tablet" : "laptop");