Hi Linus, On Mon, Oct 21, 2019 at 02:57:31AM +0200, Linus Walleij wrote: > On Sat, Oct 19, 2019 at 6:05 PM Manivannan Sadhasivam > <manivannan.sadhasivam@xxxxxxxxxx> wrote: > > On Wed, Oct 16, 2019 at 02:41:32PM +0200, Linus Walleij wrote: > > > > select GPIO_GENERIC > > > > hmm.. I don't think this driver can use it. Please see the justification > > below. > (...) > > As you can see in this driver, there are 2 separate registers needs to be > > read in order to get the value. RDA_GPIO_VAL needs to be read when the pin > > is in input state and RDA_GPIO_SET needs to be read when the pin is in output > > state. > > > > The MMIO driver relies on a single `dat` register to read the GPIO state and > > this won't fit for this driver and hence my justification for not using it. > > Use RDA_GPIO_VAL for dat, then set BGPIOF_READ_OUTPUT_REG_SET > and the mmio core will do what you want I think? That's what the flag is > for IIUC. > Ah, this should work. Sorry for missing this earlier. > Maybe we should document it better :/ > That's how everything is in kernel for me... If you don't look closer, you'll not get it. Thanks, Mani > Yours, > Linus Walleij