Messages in this thread | | | From | Andy Shevchenko <> | Date | Fri, 26 Nov 2021 16:02:48 +0200 | Subject | Re: [PATCH v3 2/4] leds: simatic-ipc-leds: add new driver for Siemens Industial PCs |
| |
On Fri, Nov 26, 2021 at 3:28 PM Henning Schild <henning.schild@siemens.com> wrote: > Am Tue, 30 Mar 2021 14:04:35 +0300 > schrieb Andy Shevchenko <andy.shevchenko@gmail.com>: > > On Mon, Mar 29, 2021 at 8:59 PM Henning Schild > > <henning.schild@siemens.com> wrote:
...
> > > +static struct simatic_ipc_led simatic_ipc_leds_mem[] = { > > > + {0x500 + 0x1A0, "red:" LED_FUNCTION_STATUS "-1"}, > > > + {0x500 + 0x1A8, "green:" LED_FUNCTION_STATUS "-1"}, > > > + {0x500 + 0x1C8, "red:" LED_FUNCTION_STATUS "-2"}, > > > + {0x500 + 0x1D0, "green:" LED_FUNCTION_STATUS "-2"}, > > > + {0x500 + 0x1E0, "red:" LED_FUNCTION_STATUS "-3"}, > > > + {0x500 + 0x198, "green:" LED_FUNCTION_STATUS "-3"}, > > > + { } > > > +}; > > > > It seems to me like poking GPIO controller registers directly. This > > is not good. The question still remains: Can we simply register a > > GPIO (pin control) driver and use an LED GPIO driver with an > > additional board file that instantiates it? > > The short answer for v4 will be "No we can not!". The pinctrl drivers > do not currently probe on any of the devices and attempts to fix that > have failed or gut stuck. I tried to help out where i could and waited > for a long time.
I see, unfortunately I have stuck with some other (more important tasks) and can't fulfil this, but I still consider it's no go for driver poking pin control registers directly. Lemme see if I can prioritize this for next week.
> Now my take is to turn the order around. We go in like that and will > happily switch to pinctrl if that ever comes up on the machines. > Meaning P2SB series on top of this, no more delays please.
I don't want to slip bad code into the kernel where we can avoid that.
> We do use request_region so have a mutex in place. Meaning we really > only touch GPIO while pinctrl does not!
I haven't got this. On Intel SoCs GPIO is a part of pin control registers. You can't touch GPIO without touching pin control.
> I see no issue here, waited for a long time and now expect to be > allowed to get merged first.
Okay, I have these questions / asks so far: 1) Can firmware be fixed in order to provide an ACPI table for the pin control devices? 2) Can you share firmware (BIOS ROM file I suppose) that I may flash on an Apollo Lake machine and see if I can reproduce the issue? 3) As may be a last resort, can you share (remotely) or even send to us the device in question to try?
-- With Best Regards, Andy Shevchenko
| |