On Thu, Mar 21, 2019 at 10:44:20AM +0200, Mika Westerberg wrote: > On Thu, Mar 21, 2019 at 10:35:24AM +0800, zhuchangchun wrote: > > When we use the gpio to control some peripheral devices,and try to > > export the gpio first,then unexport the gpio, we test the signal with > > oscilloscope,and find the signal can't meet the requirements,because > > after we unexported the gpio,the gpio's register(tx and rx)value can't > > be recovered,and this will infruence the device work flow. > > After you unexport GPIO it can go back to any previous mode it was. If > you need to use it as GPIO then why unexport it in the first place? ...and on top of that GPIO sysfs interface is deprecated. > > We check the gpio's unexport code work flow, then find the gpio's free > > hook function has not been implemented, After we add pinmux_ops' free > > function to set exported gpio to recover its original value,the problem > > is fixed. > > I don't think this is what ->free callback should do (assuming we decide > to implement it since we don't implement ->release either). It is > supposed to reverse effects of ->request which is what it currently does ;-) Exactly! -- With Best Regards, Andy Shevchenko