On Wed, Oct 19, 2022 at 10:15:01AM +0000, Révész, Levente wrote: > On Monday, October 17, 2022 7:31 PM, Andy Shevchenko wrote: > > At first glance I think this needs two prerequisite patches: > > > > 1) convert _TYPE from bits to plain numbers, so we will have room > > for up to 16 types; > > > > 2) Introducing PCAL953X_TYPE. > > > > After this is done, the current series will be neater. > > Thanks for the suggestions! > > I have started implementing this change: > > * Convert _TYPE from bits to 4 bit integer > > * Define 4 chip types: PCA953X_TYPE, PCAL953X_TYPE, > PCAL653X_TYPE, PCA957X_TYPE > > The PCA_PCAL bit is redundant, we know which chip is PCAL from their > chip type. Remove the PCA_PCAL bit and the PCA_LATCH_INT mask. Sounds good. > The now modified bits were also used in the acpi_device_id > initialization: > > static const struct acpi_device_id pca953x_acpi_ids[] = { > { "INT3491", 16 | PCA953X_TYPE | PCA_LATCH_INT, }, > { } > }; > MODULE_DEVICE_TABLE(acpi, pca953x_acpi_ids); I do not see any modifications in the above. > I do not understand what is happening in this snippet. > What should be the id? INT3491 is the ID. The chip behind is (usually) PCAL9555. In the cases when it's not, there is no associated interrupt line in the ACPI tables, so it won't hurt, however it's not the best solution made that time. -- With Best Regards, Andy Shevchenko