mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-05 18:41:58 +09:00
ANDROID: fix kernelci build breaks due to hid/uhid cyclic dependency
An android-only patch to work around frozen KMI for android14 kernels
allows a dependency between hid and uhid if both modules are enabled:
if (IS_ENABLED(CONFIG_UHID) && parser->device->ll_driver == &uhid_hid_driver)
max_buffer_size = UHID_DATA_MAX;
For allmodconfig builds, both hid and uhid are modules so this creates
a cyclic dependancy and we see this error in kernelci tests:
ERROR: Cycle detected: hid -> uhid -> hid
Fix by changeing to IS_BUILTIN() instead of IS_ENABLED() since Android
builds always build uhid into the core kernel.
Fixes: 7668cef283 ("ANDROID: HID: Only utilise UHID provided exports if UHID is enabled")
Signed-off-by: Todd Kjos <tkjos@google.com>
Change-Id: I622466a42ad94e3606820cf506188bd679078cbf
This commit is contained in:
committed by
Treehugger Robot
parent
c2dad37627
commit
76d91af9da
@@ -293,7 +293,7 @@ static int hid_add_field(struct hid_parser *parser, unsigned report_type, unsign
|
|||||||
offset = report->size;
|
offset = report->size;
|
||||||
report->size += parser->global.report_size * parser->global.report_count;
|
report->size += parser->global.report_size * parser->global.report_count;
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_UHID) && parser->device->ll_driver == &uhid_hid_driver)
|
if (IS_BUILTIN(CONFIG_UHID) && parser->device->ll_driver == &uhid_hid_driver)
|
||||||
max_buffer_size = UHID_DATA_MAX;
|
max_buffer_size = UHID_DATA_MAX;
|
||||||
|
|
||||||
/* Total size check: Allow for possible report index byte */
|
/* Total size check: Allow for possible report index byte */
|
||||||
@@ -1987,7 +1987,7 @@ int hid_report_raw_event(struct hid_device *hid, enum hid_report_type type, u8 *
|
|||||||
|
|
||||||
rsize = hid_compute_report_size(report);
|
rsize = hid_compute_report_size(report);
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_UHID) && hid->ll_driver == &uhid_hid_driver)
|
if (IS_BUILTIN(CONFIG_UHID) && hid->ll_driver == &uhid_hid_driver)
|
||||||
max_buffer_size = UHID_DATA_MAX;
|
max_buffer_size = UHID_DATA_MAX;
|
||||||
|
|
||||||
if (report_enum->numbered && rsize >= max_buffer_size)
|
if (report_enum->numbered && rsize >= max_buffer_size)
|
||||||
@@ -2398,7 +2398,7 @@ int hid_hw_raw_request(struct hid_device *hdev,
|
|||||||
{
|
{
|
||||||
unsigned int max_buffer_size = HID_MAX_BUFFER_SIZE;
|
unsigned int max_buffer_size = HID_MAX_BUFFER_SIZE;
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_UHID) && hdev->ll_driver == &uhid_hid_driver)
|
if (IS_BUILTIN(CONFIG_UHID) && hdev->ll_driver == &uhid_hid_driver)
|
||||||
max_buffer_size = UHID_DATA_MAX;
|
max_buffer_size = UHID_DATA_MAX;
|
||||||
|
|
||||||
if (len < 1 || len > max_buffer_size || !buf)
|
if (len < 1 || len > max_buffer_size || !buf)
|
||||||
@@ -2422,7 +2422,7 @@ int hid_hw_output_report(struct hid_device *hdev, __u8 *buf, size_t len)
|
|||||||
{
|
{
|
||||||
unsigned int max_buffer_size = HID_MAX_BUFFER_SIZE;
|
unsigned int max_buffer_size = HID_MAX_BUFFER_SIZE;
|
||||||
|
|
||||||
if (IS_ENABLED(CONFIG_UHID) && hdev->ll_driver == &uhid_hid_driver)
|
if (IS_BUILTIN(CONFIG_UHID) && hdev->ll_driver == &uhid_hid_driver)
|
||||||
max_buffer_size = UHID_DATA_MAX;
|
max_buffer_size = UHID_DATA_MAX;
|
||||||
|
|
||||||
if (len < 1 || len > max_buffer_size || !buf)
|
if (len < 1 || len > max_buffer_size || !buf)
|
||||||
|
|||||||
Reference in New Issue
Block a user