On Tue, 11 Dec 2018 at 13:29, Pankaj Bansal <[email protected]> wrote: > > > > > -----Original Message----- > > From: Ard Biesheuvel [mailto:[email protected]] > > Sent: Tuesday, December 11, 2018 5:55 PM > > To: Pankaj Bansal <[email protected]> > > Cc: Bhupesh Sharma <[email protected]>; Mark Rutland > > <[email protected]>; Leif Lindholm <[email protected]>; Grant > > Likely <[email protected]>; Varun Sethi <[email protected]>; Udit Kumar > > <[email protected]>; linux-efi <[email protected]> > > Subject: Re: [PATCH v2 2/2] drivers: firmware: efi: install new fdt in > > configuration table > > > > On Tue, 11 Dec 2018 at 13:22, Pankaj Bansal <[email protected]> wrote: > > > > -----Original Message----- > > > > From: Bhupesh Sharma [mailto:[email protected]] > > > > Sent: Tuesday, December 11, 2018 4:25 PM > > > > To: Pankaj Bansal <[email protected]> > > > > Cc: Ard Biesheuvel <[email protected]>; Mark Rutland > > > > <[email protected]>; Leif Lindholm <[email protected]>; > > > > Grant Likely <[email protected]>; Varun Sethi <[email protected]>; > > > > Udit Kumar <[email protected]>; [email protected] > > > > Subject: Re: [PATCH v2 2/2] drivers: firmware: efi: install new fdt > > > > in configuration table > > > > > > > > Hi Pankaj, > > > > > > .. > > > > Can you please share an example, as the above description is not > > > > very clear to me. May be you can include a dt property that you are > > > > trying to fix via kernel and what happens in the kernel driver when it > > > > is not in > > a expected state. > > > > > > We already do. The "status = "okay";" or "status = "disabled";" is added > > > to the > > device node in dts file. > > > Based on this the device structure is created or not created in kernel > > > when > > booting. > > > > > > > > > > > Also may be you can share why the boot firmware is not able to set a > > > > correct state of the same. > > > > > > The correct state of device would depend on the user supplied parameters > > > and > > boot time configuration. > > > Boot firmware is able to set the "status" in fdt file in exit boot > > > services. > > > > But why not before? Why does it have to wait until ExitBootServices() to do > > this? > > We attempt to apply the user supplied parameters in ExitBootServices.
What does 'user supplied' mean? And why can't you apply them earlier? > If it fails, then the device state is un deterministic. If it passed, then > device can be used in kernel. > Once there parameters are applied, regardless of they failed or passed, the > boot firmware cannot use the device. > So we have no choice but to apply these parameters when we no longer wish to > use the device in boot firmware. > This is incorrect. Setting the DT status property does absolutely nothing until long after ExitBootServices() completes. So if you want to set the device status, you need to do it before invoking the kernel.
