Re: [v1,1/3] drm/panel: ili9341: Correct use of device property APIs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On 2024/5/3 01:28, Andy Shevchenko wrote:
On Fri, May 03, 2024 at 12:25:17AM +0800, Sui Jingfeng wrote:
On 2024/5/2 16:32, Andy Shevchenko wrote:
On Wed, May 01, 2024 at 12:27:14AM +0800, Sui Jingfeng wrote:
On 2024/4/30 22:13, Andy Shevchenko wrote:
On Fri, Apr 26, 2024 at 05:13:43AM +0800, Sui Jingfeng wrote:
...

the former might be subdivided to "is it swnode backed or real fwnode one?"

Yeah,
On non-DT cases, it can be subdivided to swnode backed case and ACPI fwnode backed case.

   - For swnode backed case: the device_get_match_data() don't has a implemented backend.
   - For ACPI fwnode backed case: the device_get_match_data() has a implemented backend.

But the driver has *neither* software node support
True.

nor ACPI support,
Not true.
Why this is not true? Are you means that the panel-ilitek-ili9341 driver has ACPI support?
That's the idea (as far as I see the copy of the code from tinyDRM),
but broken over the copy'n'paste. This patch rectifies that to be
in align with the original code, which *does* support ACPI.

I'm asking because I don't see struct acpi_device_id related stuff in that source file,
am I miss something?
Yes, you are. I leave it for you to research.


After researching a few hours I still don't understand how does
the panel-ilitek-ili9341 driver has the ACPI support and be able
to ACPI probed when compiled as module.

As far as I know, drivers that has the ACPI support *must* has the
.acpi_match_table hooked, so that be able to be probed when the
driver is compiled as a module.

For example, see commit 75a1b44a54bd9 ("spi: tegra210-quad: add acpi support")
to get a feel what a SPI device with *real* ACPI support looks like.

I have double checked the panel-ilitek-ili9341 driver, it doesn't
has acpi_match_table hooked, which means that this driver won't
even be able probed. And probed as pure SPI device still out of
the scope of "correct use of device property APIs". Because SPI
device specific method don't belong to the device property API.
I don't really know what's we are missing, but we already intend
to let it go, thanks.


So, slow down and take your time to get into the code and understand how it works.

so that the rotation property can not get and ili9341_dpi_probe() will fails.
So in total, this is not a 100% correct use of device property APIs.

But I'm fine that if you want to leave(ignore) those less frequent use cases temporarily,
there may have programmers want to post patches, to complete the missing in the future.

So, there do have some gains on non-DT cases.

   - As you make it be able to compiled on X86 with the drm-misc-defconfig.
   - You cleanup the code up (at least patch 2 in this series is no obvious problem).
   - You allow people to modprobe it, and maybe half right and half undefined.

But you do helps moving something forward, so congratulations for the wake up.

--
Best regards,
Sui




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux