Re: [PATCH RFC v3 0/7] mfd: ls2kbmc: multiple fixes for this driver

From: Miao Wang

Date: Fri Jul 24 2026 - 05:31:50 EST


Hi,

> 2026年7月24日 16:55,Huacai Chen <chenhuacai@xxxxxxxxxx> 写道:
>
> Hi, Miao,
>
> On Fri, Jul 10, 2026 at 1:24 AM Miao Wang via B4 Relay
> <devnull+shankerwangmiao.gmail.com@xxxxxxxxxx> wrote:
>>
>> Previously, the driver has been introduced to support the Loongson 2K
>> BMC running on the Loongson Servers, which is essential to prevent
>> the system from hanging when the BMC is being reset and the default
>> efi-framebuffer is being used. However, there are some drawbacks in the
>> driver.
>>
>> Firstly, the driver tries to read and write to the connected PCI-E host
>> controller registers, assuming that the BMC is connected to LS7A PCI-E
>> host controller. This assumption should be true for real products, but
>> to prevent from accidentally reading and writing to the wrong PCI-E host
>> controller, this driver should be modified to check this before
>> accessing the registers.
>>
>> Secondly, the driver uses non-exported functions to tell the vt
>> subsystem to redraw the screen, preventing the driver from being
>> compiling as a module. This can be fixed by using the exported
>> functions instead.
> You can replace the redraw function, but I don't think it is necessary
> to make the bmc driver modular.
>
> BMC core, IPMI and simpledrm display are usually (if not always)
> supposed to work as early as possible.

I believe that it should be the user's decision to choose whether to
compile a module into the kernel or as a module and it would be better
if we can provide the possibilities for the user to choose from.
Additionally, I don't think these modules are supposed to work that
early. The mfd module provide two functions, the display and the ipmi
device. In the aspect of graphical display, without this module, the
user can still see the output during booting on their monitors, since
efifb is working, providing a basic display function. In the aspect of
the ipmi device, I don't think the lack of such device will influence
the boot of the system, since it is a common practice to compile ipmi
device drivers as modules on other architectures. As a result, neither
of the two functions are required to be loaded that early and it is
reasonable to at lease leave the choice to compile it as a module
to the user.

Cheers,

Miao Wang