armbian / linux-rockchip

Improved Rockchip Linux
Other
115 stars 161 forks source link

lcd_vk2c21 - driver that can't be disabled #113

Closed ilyakurdyukov closed 10 months ago

ilyakurdyukov commented 10 months ago

I'm trying to make the config that would have the same drivers as the Android kernel from the device.

And found a driver that I can't disable: /sys/bus/platform/drivers/lcd_vk2c21

drivers/char/Makefile:

#fox.luo@add vk2c21 lcd driver
obj-y   += lcd_vk2c21.o

Who's accepted this? Such low-quality drivers shouldn't be allowed.

amazingfate commented 10 months ago

Pull request is welcomed.

ilyakurdyukov commented 10 months ago

@rpardini, please improve the vendor hacks you brought so that this driver can be disabled properly and only compiles for blueberry edge and not for every Armbian kernel for Rockchip.

amazingfate commented 10 months ago

@rpardini, please improve the vendor hacks you brought so that this driver can be disabled properly and only compiles for blueberry edge and not for every Armbian kernel for Rockchip.

All legacy rk3588 boards share the same kernel config, so this is impossible.

ilyakurdyukov commented 10 months ago

All legacy rk3588 boards share the same kernel config, so this is impossible.

There should be proper config switch here, CONFIG_LCD_VK2C21 for example, and CONFIG_LCD_VK2C21=y added to the RK3588 config. I don't want to fix it myself because I won't be able to verify that the changes are correct.

 obj-$(CONFIG_XILLYBUS)     += xillybus/
 obj-$(CONFIG_POWERNV_OP_PANEL) += powernv-op-panel.o
 obj-$(CONFIG_ADI)      += adi.o
-#fox.luo@add vk2c21 lcd driver
-obj-y  += lcd_vk2c21.o
+obj-$(CONFIG_LCD_VK2C21)   += lcd_vk2c21.o

Or such hack patches should go to the armbian-build as standalone patches, and not be committed to linux-rockchip. This is okay for the vendor, and not for the repository, where the kernel source is common to different devices.

amazingfate commented 10 months ago

This is a common kernel for all rockchip devices, so it's good to get all drivers compiled. This driver can get built as module so it will get loaded depend on devicetree.

ilyakurdyukov commented 10 months ago

This is a common kernel for all rockchip devices, so it's good to get all drivers compiled. This driver can get built as module so it will get loaded depend on devicetree.

In its current state, this driver cannot be built as a module because it is not defined properly. This is added as a hack and always compiles into the kernel, which is what I'm upset about.

amazingfate commented 10 months ago

I'm okay with the current state. And pull request is welcomed.

rpardini commented 10 months ago

I agree. This driver was sent this way by the vendor. It should indeed have proper Kconfig and Makefile conditional. PR's welcome.

ilyakurdyukov commented 10 months ago

If no one fixes it first, I'll fix it when I figure out my current problem with the RK3528. It is better for this to be fixed by some of the owners of the device that needs this driver.

This driver was sent this way by the vendor.

By the way, do you have instructions and templates for sending letters to a vendor so that they open the source code of the missing drivers?

rpardini commented 10 months ago

No. Contact the EFF / FSF / etc