Message ID | 20230111125323.1911373-3-daire.mcnamara@microchip.com (mailing list archive) |
---|---|
State | New, archived |
Delegated to: | Lorenzo Pieralisi |
Headers | show |
Series | PCI: microchip: Partition address translations | expand |
Hey Daire, On Wed, Jan 11, 2023 at 12:53:14PM +0000, daire.mcnamara@microchip.com wrote: > From: Daire McNamara <daire.mcnamara@microchip.com> > > The kernel test robot reported that the ugly cast from > void(*)(struct clk *) to void (*)(void *) converts to incompatible > function type. This commit adopts the common convention of creating a > trivial stub function that takes a void * and passes it to the > underlying function that expects the more specific type. > > Fixes: 6f15a9c9f941 ("PCI: microchip: Add Microchip PolarFire PCIe controller driver") Reported-by: kernel test robot <lkp@intel.com> > Signed-off-by: Daire McNamara <daire.mcnamara@microchip.com> > --- > drivers/pci/controller/pcie-microchip-host.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/pci/controller/pcie-microchip-host.c b/drivers/pci/controller/pcie-microchip-host.c > index 5c89caaab8c9..5efd480e42fa 100644 > --- a/drivers/pci/controller/pcie-microchip-host.c > +++ b/drivers/pci/controller/pcie-microchip-host.c > @@ -848,6 +848,13 @@ static const struct irq_domain_ops event_domain_ops = { > .map = mc_pcie_event_map, > }; > > +static inline void mc_pcie_chip_off_action(void *data) > +{ > + struct clk *clk = data; > + > + clk_disable_unprepare(clk); > +} > + > static inline struct clk *mc_pcie_init_clk(struct device *dev, const char *id) > { > struct clk *clk; > @@ -863,8 +870,7 @@ static inline struct clk *mc_pcie_init_clk(struct device *dev, const char *id) > if (ret) > return ERR_PTR(ret); > > - devm_add_action_or_reset(dev, (void (*) (void *))clk_disable_unprepare, > - clk); > + devm_add_action_or_reset(dev, mc_pcie_chip_off_action, clk); Certainly looks a lot nicer this way, so 2 for the price of 1 I think. Acked-by: Conor Dooley <conor.dooley@microchip.com> > > return clk; > }
diff --git a/drivers/pci/controller/pcie-microchip-host.c b/drivers/pci/controller/pcie-microchip-host.c index 5c89caaab8c9..5efd480e42fa 100644 --- a/drivers/pci/controller/pcie-microchip-host.c +++ b/drivers/pci/controller/pcie-microchip-host.c @@ -848,6 +848,13 @@ static const struct irq_domain_ops event_domain_ops = { .map = mc_pcie_event_map, }; +static inline void mc_pcie_chip_off_action(void *data) +{ + struct clk *clk = data; + + clk_disable_unprepare(clk); +} + static inline struct clk *mc_pcie_init_clk(struct device *dev, const char *id) { struct clk *clk; @@ -863,8 +870,7 @@ static inline struct clk *mc_pcie_init_clk(struct device *dev, const char *id) if (ret) return ERR_PTR(ret); - devm_add_action_or_reset(dev, (void (*) (void *))clk_disable_unprepare, - clk); + devm_add_action_or_reset(dev, mc_pcie_chip_off_action, clk); return clk; }