On Fri, 10 Feb 2023 12:05:13 +0000 Aditya Garg <gargaditya08@xxxxxxxx> wrote: > > On 10-Feb-2023, at 10:26 AM, Thomas Weißschuh <thomas@xxxxxxxx> > > wrote: > > > > Hi, > > > > some comments inline. > > > > On Fri, Feb 10, 2023 at 03:43:24AM +0000, Aditya Garg wrote: > > > >> + > >> +static struct { > >> + unsigned int usage; > >> + struct hid_device_id *dev_id; > >> +} appleib_usage_map[] = { > >> + /* Default iBridge configuration, key inputs and mode settings */ > >> + { 0x00010006, &appleib_sub_hid_ids[0] }, > >> + /* OS X iBridge configuration, digitizer inputs */ > >> + { 0x000D0005, &appleib_sub_hid_ids[0] }, > >> + /* All iBridge configurations, display/DFR settings */ > >> + { 0xFF120001, &appleib_sub_hid_ids[0] }, > >> + /* All iBridge configurations, ALS */ > >> + { 0x00200041, &appleib_sub_hid_ids[1] }, > >> +}; > > > > const > > > > Constantifying this results in compiler giving warnings > > drivers/hid/apple-ibridge.c:78:23: warning: initialization discards > 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] > 78 | { 0x00200041, &appleib_sub_hid_ids[1] }, | > ^ drivers/hid/apple-ibridge.c: In function > 'appleib_add_sub_dev': drivers/hid/apple-ibridge.c:363:29: warning: > assignment discards 'const' qualifier from pointer target type > [-Wdiscarded-qualifiers] 363 | sub_hdev->ll_driver = > &appleib_ll_driver; | ^ > drivers/hid/apple-ibridge.c: In function 'appleib_hid_probe': > drivers/hid/apple-ibridge.c:436:12: error: expected '(' before > 'hid_is_usb' 436 | if hid_is_usb(hdev) | ^~~~~~~~~~ > | ( > In file included from drivers/hid/apple-ibridge.c:48: > drivers/hid/apple-ibridge.c: In function 'appleib_probe': > drivers/hid/apple-ibridge.c:544:35: warning: passing argument 1 of > '__hid_register_driver' discards 'const' qualifier from pointer > target type [-Wdiscarded-qualifiers] 544 | ret = > hid_register_driver(&appleib_hid_driver); | > ^~~~~~~~~~~~~~~~~~~ ./include/linux/hid.h:898:31: note: in > definition of macro 'hid_register_driver' 898 | > __hid_register_driver(driver, THIS_MODULE, KBUILD_MODNAME) | > ^~~~~~ ./include/linux/hid.h:893:47: note: > expected 'struct hid_driver *' but argument is of type 'const struct > hid_driver *' 893 | extern int __must_check > __hid_register_driver(struct hid_driver *, | > ^~~~~~~~~~~~~~~~~~~ drivers/hid/apple-ibridge.c: > In function 'appleib_remove': drivers/hid/apple-ibridge.c:558:31: > warning: passing argument 1 of 'hid_unregister_driver' discards > 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] > 558 | hid_unregister_driver(&appleib_hid_driver); | > ^~~~~~~~~~~~~~~~~~~ ./include/linux/hid.h:900:35: > note: expected 'struct hid_driver *' but argument is of type 'const > struct hid_driver *' 900 | extern void hid_unregister_driver(struct > hid_driver *); | > ^~~~~~~~~~~~~~~~~~~ make[6]: *** [scripts/Makefile.build:250: > drivers/hid/apple-ibridge.o] Error 1 make[5]: *** > [scripts/Makefile.build:500: drivers/hid] Error 2 make[5]: *** > Waiting for unfinished jobs…. > > Some warnings are also due to a typo in if and constantifying `static > struct hid_driver`, although they probably can be fixed. > > In short, Thomas, do you really want me to constantify the structure > I am talking about in this email, as well `static struct hid_driver`? > Were the changes needed for these structs to be const in the linux-input tree for 6.3? If so then if you're applying the patches onto linus' tree that might be why there are errors about consts.