Message ID | 20201104232356.4038506-17-saravanak@google.com |
---|---|
State | New |
Headers | show |
Series | Refactor fw_devlink to significantly improve boot time | expand |
On Wed, Nov 04, 2020 at 03:23:53PM -0800, Saravana Kannan wrote: > The semantics of add_links() has changed from creating device link > between devices to creating fwnode links between fwnodes. So, update the > implementation of add_links() to match the new semantics. > > Signed-off-by: Saravana Kannan <saravanak@google.com> > --- > drivers/firmware/efi/efi-init.c | 23 ++--------------------- > 1 file changed, 2 insertions(+), 21 deletions(-) > > diff --git a/drivers/firmware/efi/efi-init.c b/drivers/firmware/efi/efi-init.c > index b148f1459fb3..c0c3d4c3837a 100644 > --- a/drivers/firmware/efi/efi-init.c > +++ b/drivers/firmware/efi/efi-init.c > @@ -316,11 +316,10 @@ static struct device_node *find_pci_overlap_node(void) > * resource reservation conflict on the memory window that the efifb > * framebuffer steals from the PCIe host bridge. > */ > -static int efifb_add_links(const struct fwnode_handle *fwnode, > +static int efifb_add_links(struct fwnode_handle *fwnode, > struct device *dev) So you are fixing the build warning you added a few patches ago here? Please fix up the function signatures when you made that change, not here later on. thanks, greg k-h
On Thu, Nov 5, 2020 at 1:42 AM Greg Kroah-Hartman <gregkh@linuxfoundation.org> wrote: > > On Wed, Nov 04, 2020 at 03:23:53PM -0800, Saravana Kannan wrote: > > The semantics of add_links() has changed from creating device link > > between devices to creating fwnode links between fwnodes. So, update the > > implementation of add_links() to match the new semantics. > > > > Signed-off-by: Saravana Kannan <saravanak@google.com> > > --- > > drivers/firmware/efi/efi-init.c | 23 ++--------------------- > > 1 file changed, 2 insertions(+), 21 deletions(-) > > > > diff --git a/drivers/firmware/efi/efi-init.c b/drivers/firmware/efi/efi-init.c > > index b148f1459fb3..c0c3d4c3837a 100644 > > --- a/drivers/firmware/efi/efi-init.c > > +++ b/drivers/firmware/efi/efi-init.c > > @@ -316,11 +316,10 @@ static struct device_node *find_pci_overlap_node(void) > > * resource reservation conflict on the memory window that the efifb > > * framebuffer steals from the PCIe host bridge. > > */ > > -static int efifb_add_links(const struct fwnode_handle *fwnode, > > +static int efifb_add_links(struct fwnode_handle *fwnode, > > struct device *dev) > > So you are fixing the build warning you added a few patches ago here? > Please fix up the function signatures when you made that change, not > here later on. I'm trying not to have a mega patcht that changes a lot of code. I guess I can drop this "const" diff from this patch and then merge it with the earlier patch that removes the const. But still leave the rest of the changes in this patch as is. Does that work for you? -Saravana
On Thu, Nov 05, 2020 at 03:27:52PM -0800, Saravana Kannan wrote: > On Thu, Nov 5, 2020 at 1:42 AM Greg Kroah-Hartman > <gregkh@linuxfoundation.org> wrote: > > > > On Wed, Nov 04, 2020 at 03:23:53PM -0800, Saravana Kannan wrote: > > > The semantics of add_links() has changed from creating device link > > > between devices to creating fwnode links between fwnodes. So, update the > > > implementation of add_links() to match the new semantics. > > > > > > Signed-off-by: Saravana Kannan <saravanak@google.com> > > > --- > > > drivers/firmware/efi/efi-init.c | 23 ++--------------------- > > > 1 file changed, 2 insertions(+), 21 deletions(-) > > > > > > diff --git a/drivers/firmware/efi/efi-init.c b/drivers/firmware/efi/efi-init.c > > > index b148f1459fb3..c0c3d4c3837a 100644 > > > --- a/drivers/firmware/efi/efi-init.c > > > +++ b/drivers/firmware/efi/efi-init.c > > > @@ -316,11 +316,10 @@ static struct device_node *find_pci_overlap_node(void) > > > * resource reservation conflict on the memory window that the efifb > > > * framebuffer steals from the PCIe host bridge. > > > */ > > > -static int efifb_add_links(const struct fwnode_handle *fwnode, > > > +static int efifb_add_links(struct fwnode_handle *fwnode, > > > struct device *dev) > > > > So you are fixing the build warning you added a few patches ago here? > > Please fix up the function signatures when you made that change, not > > here later on. > > I'm trying not to have a mega patcht that changes a lot of code. > > I guess I can drop this "const" diff from this patch and then merge it > with the earlier patch that removes the const. But still leave the > rest of the changes in this patch as is. Does that work for you? Yes, that's fine, you just can't add build warnings along the way. thanks, greg k-h
diff --git a/drivers/firmware/efi/efi-init.c b/drivers/firmware/efi/efi-init.c index b148f1459fb3..c0c3d4c3837a 100644 --- a/drivers/firmware/efi/efi-init.c +++ b/drivers/firmware/efi/efi-init.c @@ -316,11 +316,10 @@ static struct device_node *find_pci_overlap_node(void) * resource reservation conflict on the memory window that the efifb * framebuffer steals from the PCIe host bridge. */ -static int efifb_add_links(const struct fwnode_handle *fwnode, +static int efifb_add_links(struct fwnode_handle *fwnode, struct device *dev) { struct device_node *sup_np; - struct device *sup_dev; sup_np = find_pci_overlap_node(); @@ -331,27 +330,9 @@ static int efifb_add_links(const struct fwnode_handle *fwnode, if (!sup_np) return 0; - sup_dev = get_dev_from_fwnode(&sup_np->fwnode); + fwnode_link_add(fwnode, of_fwnode_handle(sup_np)); of_node_put(sup_np); - /* - * Return -ENODEV if the PCI graphics controller device hasn't been - * registered yet. This ensures that efifb isn't allowed to probe - * and this function is retried again when new devices are - * registered. - */ - if (!sup_dev) - return -ENODEV; - - /* - * If this fails, retrying this function at a later point won't - * change anything. So, don't return an error after this. - */ - if (!device_link_add(dev, sup_dev, fw_devlink_get_flags())) - dev_warn(dev, "device_link_add() failed\n"); - - put_device(sup_dev); - return 0; }
The semantics of add_links() has changed from creating device link between devices to creating fwnode links between fwnodes. So, update the implementation of add_links() to match the new semantics. Signed-off-by: Saravana Kannan <saravanak@google.com> --- drivers/firmware/efi/efi-init.c | 23 ++--------------------- 1 file changed, 2 insertions(+), 21 deletions(-)