On 4/4/22 18:11, Chen-Yu Tsai wrote: [snip] >>> >> >> tl; dr: unfortunately we can't do it due how SPI and I2C report module >> aliases. Otherwise module auto loading will not work. I wrote a much >> longer explanation with some details not so long ago: >> >> https://patchwork.kernel.org/project/dri-devel/patch/20220209091204.2513437-1-javierm@xxxxxxxxxx/#24730793 > > Right. I think that crossed my mind at some point, but didn't stick. > Thanks for raising it again. :) > >> BTW, I bought a SSD1306 SPI controller and go it working this weekend. >> >> I plan to post the patches once yours land, to avoid in-flight series >> that may conflict. And what I did is mark the -fb as deprecated, then >> added "ssd130x-i2c" and "ssd130x-spi" compatibles strings. >> >> The WIP patches can be found here in case you are interested: >> >> https://github.com/martinezjavier/linux/tree/drm-ssd130x-spi > > I took a quick look and a couple things stood out: > > 1. Would 3-wire SPI ever be considered? If so, might want to > rename some of variables/functions as *_spi_4wire_* to > begin with. > That's a good question and something that I considered too. I have to admit that never had a SPI device that uses the 3-wire scheme though so I don't know how common that is. The ssd1306 datasheet mentions that the chip supports it but I could not find one to buy. Read that should be able to do it by soldering some pads in the board but that wold be more hustle that would like. For that reason I just went with only supporting 4-wire and someone if really like could provide patches for 3-wire SPI. > 2. Maybe we should move the ssd130x_deviceinfo stuff into the > core module, and define an enum to use for matching compatible > strings across the modules to their respective device info > entries? FYI we are doing this in drivers/mfd/axp20x* . > Yes, that's a good idea. I'll add that refactoring as a part of the SPI series. Thanks a lot for the suggestion, it was very useful. > I think a friend of mine has a SPI based SH1106 module that I > could borrow and test/work on, but that's a big if. > > Cool. If it uses 4-wire too then I believe that would mostly work out-of-the-box if you add a compatible string for it. I didn't have to do any change in the core ssd103x driver for the ssd1306 SPI to work. > Regards > ChenYu > -- Best regards, Javier Martinez Canillas Linux Engineering Red Hat