Hi Andy, Thanks for your review. On Tue, 2024-02-20 at 17:19 +0200, Andy Shevchenko wrote: > > External email : Please do not click links or open attachments until > you have verified the sender or the content. > On Tue, Feb 20, 2024 at 3:47 AM Zhi Mao <zhi.mao@xxxxxxxxxxxx> > wrote: > > > > Add a V4L2 sub-device driver for Galaxycore GC08A3 image sensor. > > ... > > > +#include <asm/unaligned.h> > > Usually asm/* go after linux/* > > > +#include <linux/clk.h> > > +#include <linux/delay.h> > > +#include <linux/gpio/consumer.h> > > +#include <linux/i2c.h> > > +#include <linux/module.h> > > +#include <linux/pm_runtime.h> > > +#include <linux/regulator/consumer.h> > > This looks semi-random. > For example, _at least_ the array_size.h, bits.h, container_of.h, > device.h, err.h, mod_devicetable.h, property.h, types.h are missing, > Please, use IWYU principle. > I have remove some useless header file, refer to some others sensor driver code(such as gc0a08/gc2145 and imx/ov sensor driver). As these header files which mentioned above, are included by some other header files, for example "container_of.h" is included by "media- entity.h", while "media-entity.h" is inculded by "v4l2-subdev.h", so we just need include "v4l2-subdev.h" in sensor driver code. > ... > > > +#define GC08A3_DEFAULT_CLK_FREQ 24000000 > > HZ_PER_MHZ ? > fixed in patch:v6 > ... > > > +#define GC08A3_SLEEP_US 2000 > > USEC_PER_MSEC ? > fixed in patch:v6 > ... > > > +static const s64 gc08a3_link_freq_menu_items[] = { > > + 336000000ULL, > > + 207000000ULL, > > HZ_PER_MHZ ? > fixed in patch:v6 > > +}; > > ... > > > +static const struct dev_pm_ops gc08a3_pm_ops = { > > + SET_RUNTIME_PM_OPS(gc08a3_power_off, gc08a3_power_on, NULL) > > +}; > > > + .pm = &gc08a3_pm_ops, > > Use new PM macros (pm_ptr() and friends). > fixed in patch:v6 > -- > With Best Regards, > Andy Shevchenko