Hi! Just a minor nitpick, but... On Thu, Dec 18, 2014 at 04:29:08PM -0600, atull@xxxxxxxxxxxxxxxxxxxxx wrote: > From: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> > > Add driver to fpga manager framework to allow configuration > of FPGA in Altera SoCFPGA parts. > > Signed-off-by: Alan Tull <atull@xxxxxxxxxxxxxxxxxxxxx> > Acked-by: Michal Simek <michal.simek@xxxxxxxxxx> > --- > v2: fpga_manager struct now contains struct device > fpga_manager_register parameters now take device > > v3: skip a version to align versions > > v4: move to drivers/staging > > v5: fix array_size.cocci warnings > fix platform_no_drv_owner.cocci warnings > Remove .owner = THIS_MODULE > include asm/irq.h > clean up list of includes > use altera_fpga_reset for ops > use enum fpga_mgr_states or u32 as needed > use devm_request_irq > check irq <= 0 instead of == NO_IRQ > Use ARRAY_SIZE > rename altera -> socfpga > static const socfpga_fpga_ops > header moved to linux/fpga/ folder > remove ifdef'ed code > use platform_get_resource and platform_get_irq > move .probe and .remove lines adjacent > use module_platform_driver > use __maybe_unused > only need to 'if (IS_ENABLED(CONFIG_REGULATOR))' in one fn > fix "unsigned 'mode' is never < 0" > > v6: return error for (unused) default of case statement > --- ^^^ ...if you remove these, than that changelog will not land in the final commit which I would prefer. Nobody cares for the changelog of a patch once it is in its final state. And this is a rather noisy one. When someone in the future looks at this, he will see two lines of information and 10 times that of uninteresting noise. Not a dealbreaker, but just something to consider for future patches. > + > +static u32 socfpga_fpga_readl(struct socfpga_fpga_priv *priv, u32 reg_offset) > +{ > + return readl(priv->fpga_base_addr + reg_offset); > +} > + > +static void socfpga_fpga_writel(struct socfpga_fpga_priv *priv, u32 reg_offset, > + u32 value) > +{ > + writel(value, priv->fpga_base_addr + reg_offset); > +} > + > +static u32 socfpga_fpga_raw_readl(struct socfpga_fpga_priv *priv, > + u32 reg_offset) > +{ > + return __raw_readl(priv->fpga_base_addr + reg_offset); > +} > + > +static void socfpga_fpga_raw_writel(struct socfpga_fpga_priv *priv, > + u32 reg_offset, u32 value) > +{ > + __raw_writel(value, priv->fpga_base_addr + reg_offset); > +} > + > +static void socfpga_fpga_data_writel(struct socfpga_fpga_priv *priv, u32 value) > +{ > + writel(value, priv->fpga_data_addr); > +} > + > +static inline void socfpga_fpga_set_bitsl(struct socfpga_fpga_priv *priv, > + u32 offset, u32 bits) > +{ > + u32 val; > + > + val = socfpga_fpga_readl(priv, offset); > + val |= bits; > + socfpga_fpga_writel(priv, offset, val); > +} > + > +static inline void socfpga_fpga_clr_bitsl(struct socfpga_fpga_priv *priv, > + u32 offset, u32 bits) > +{ > + u32 val; > + > + val = socfpga_fpga_readl(priv, offset); > + val &= ~bits; > + socfpga_fpga_writel(priv, offset, val); > +} > + Please, please, please at least fix this once the driver hit staging. It is always a major annoyance, to follow functions, just to find out that their only reason of existence is to flip the arguments just for the hell of it. But I guess it is okay for staging... Regards, Steffen -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxx http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel