All of lore.kernel.org
 help / color / mirror / Atom feed
* [intel-lts:5.15/linux 26/38] drivers/media/platform/intel/ipu6-acpi-pdata.c:55:6: warning: no previous prototype for 'print_serdes_sdinfo'
@ 2023-07-13 10:51 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-07-13 10:51 UTC (permalink / raw)
  To: Chen Meng J; +Cc: oe-kbuild-all, renjiaox, zouxiaoh

Hi Chen,

FYI, the error/warning was bisected to this commit, please ignore it if it's irrelevant.

tree:   https://github.com/intel/linux-intel-lts.git 5.15/linux
head:   4d44667fd3eca9633f0844bb09886fdc54f18539
commit: 4de71cacfa75fc249aa6f79004ee09b3ae17ce41 [26/38] media: intel: correct dependency for PDATA and ACPI
config: i386-allyesconfig (https://download.01.org/0day-ci/archive/20230713/202307131830.FaMK39Z2-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14) 12.2.0
reproduce: (https://download.01.org/0day-ci/archive/20230713/202307131830.FaMK39Z2-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202307131830.FaMK39Z2-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/media/platform/intel/ipu6-acpi-pdata.c:55:6: warning: no previous prototype for 'print_serdes_sdinfo' [-Wmissing-prototypes]
      55 | void print_serdes_sdinfo(struct serdes_subdev_info *sdinfo)
         |      ^~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:83:6: warning: no previous prototype for 'print_serdes_subdev' [-Wmissing-prototypes]
      83 | void print_serdes_subdev(struct ipu_isys_subdev_info *sd)
         |      ^~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:123:6: warning: no previous prototype for 'print_subdev' [-Wmissing-prototypes]
     123 | void print_subdev(struct ipu_isys_subdev_info *sd)
         |      ^~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:157:6: warning: no previous prototype for 'add_local_subdevs' [-Wmissing-prototypes]
     157 | void add_local_subdevs(struct ipu_isys_subdev_info *new_subdev_info)
         |      ^~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:172:6: warning: no previous prototype for 'update_short' [-Wmissing-prototypes]
     172 | void update_short(struct device *dev,
         |      ^~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:183:6: warning: no previous prototype for 'update_hex' [-Wmissing-prototypes]
     183 | void update_hex(struct device *dev,
         |      ^~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:194:6: warning: no previous prototype for 'update_int' [-Wmissing-prototypes]
     194 | void update_int(struct device *dev,
         |      ^~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:205:6: warning: no previous prototype for 'update_inta' [-Wmissing-prototypes]
     205 | void update_inta(struct device *dev,
         |      ^~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:221:6: warning: no previous prototype for 'update_str' [-Wmissing-prototypes]
     221 | void update_str(struct device *dev,
         |      ^~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:232:6: warning: no previous prototype for 'update_subdev' [-Wmissing-prototypes]
     232 | void update_subdev(struct device *dev,
         |      ^~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:264:6: warning: no previous prototype for 'update_serdes_subdev' [-Wmissing-prototypes]
     264 | void update_serdes_subdev(struct device *dev,
         |      ^~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:325:5: warning: no previous prototype for 'compare_subdev' [-Wmissing-prototypes]
     325 | int compare_subdev(struct device *dev,
         |     ^~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:377:6: warning: no previous prototype for 'update_pdata' [-Wmissing-prototypes]
     377 | void update_pdata(struct device *dev,
         |      ^~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:448:6: warning: no previous prototype for 'set_ti960_gpio' [-Wmissing-prototypes]
     448 | void set_ti960_gpio(struct control_logic_data *ctl_data, struct serdes_platform_data **pdata)
         |      ^~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:468:6: warning: no previous prototype for 'set_lt_gpio' [-Wmissing-prototypes]
     468 | void set_lt_gpio(struct control_logic_data *ctl_data, struct sensor_platform_data **pdata,
         |      ^~~~~~~~~~~
   drivers/media/platform/intel/ipu6-acpi-pdata.c:499:6: warning: no previous prototype for 'set_ar0234_gpio' [-Wmissing-prototypes]
     499 | void set_ar0234_gpio(struct sensor_platform_data **pdata)
         |      ^~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:507:5: warning: no previous prototype for 'set_csi2' [-Wmissing-prototypes]
     507 | int set_csi2(struct ipu_isys_subdev_info **sensor_sd,
         |     ^~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:524:6: warning: no previous prototype for 'set_i2c' [-Wmissing-prototypes]
     524 | void set_i2c(struct ipu_isys_subdev_info **sensor_sd,
         |      ^~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:535:6: warning: no previous prototype for 'set_serdes_sd_pdata' [-Wmissing-prototypes]
     535 | void set_serdes_sd_pdata(struct serdes_module_pdata **module_pdata, char sensor_name[I2C_NAME_SIZE],
         |      ^~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:555:5: warning: no previous prototype for 'set_serdes_subdev' [-Wmissing-prototypes]
     555 | int set_serdes_subdev(struct ipu_isys_subdev_info **serdes_sd,
         |     ^~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-pdata.c:591:5: warning: no previous prototype for 'set_pdata' [-Wmissing-prototypes]
     591 | int set_pdata(struct ipu_isys_subdev_info **sensor_sd,
         |     ^~~~~~~~~
   drivers/media/platform/intel/ipu6-acpi-pdata.c:652:6: warning: no previous prototype for 'set_serdes_info' [-Wmissing-prototypes]
     652 | void set_serdes_info(struct device *dev, const char *serdes_name, struct sensor_bios_data *cam_data)
         |      ^~~~~~~~~~~~~~~
   drivers/media/platform/intel/ipu6-acpi-pdata.c:672:5: warning: no previous prototype for 'populate_dummy' [-Wmissing-prototypes]
     672 | int populate_dummy(struct device *dev,
         |     ^~~~~~~~~~~~~~
   drivers/media/platform/intel/ipu6-acpi-pdata.c:706:5: warning: no previous prototype for 'populate_sensor_pdata' [-Wmissing-prototypes]
     706 | int populate_sensor_pdata(struct device *dev,
         |     ^~~~~~~~~~~~~~~~~~~~~
--
>> drivers/media/platform/intel/ipu6-acpi-common.c:77:5: warning: no previous prototype for 'ipu_acpi_get_gpio_data' [-Wmissing-prototypes]
      77 | int ipu_acpi_get_gpio_data(struct device *dev, struct ipu_gpio_info *gpio, int size,
         |     ^~~~~~~~~~~~~~~~~~~~~~
>> drivers/media/platform/intel/ipu6-acpi-common.c:160:5: warning: no previous prototype for 'ipu_acpi_get_i2c_info' [-Wmissing-prototypes]
     160 | int ipu_acpi_get_i2c_info(struct device *dev, struct ipu_i2c_info *i2c, int size, u64 *num)
         |     ^~~~~~~~~~~~~~~~~~~~~


vim +/print_serdes_sdinfo +55 drivers/media/platform/intel/ipu6-acpi-pdata.c

cfb5743695d51c zouxiaoh 2022-11-28   54  
cfb5743695d51c zouxiaoh 2022-11-28  @55  void print_serdes_sdinfo(struct serdes_subdev_info *sdinfo)
cfb5743695d51c zouxiaoh 2022-11-28   56  {
cfb5743695d51c zouxiaoh 2022-11-28   57  	int j;
cfb5743695d51c zouxiaoh 2022-11-28   58  	struct serdes_module_pdata *sd_mpdata = sdinfo->board_info.platform_data;
cfb5743695d51c zouxiaoh 2022-11-28   59  
cfb5743695d51c zouxiaoh 2022-11-28   60  	if (!sd_mpdata) {
cfb5743695d51c zouxiaoh 2022-11-28   61  		pr_err("Empty serdes module pdata");
cfb5743695d51c zouxiaoh 2022-11-28   62  		return;
cfb5743695d51c zouxiaoh 2022-11-28   63  	}
cfb5743695d51c zouxiaoh 2022-11-28   64  
cfb5743695d51c zouxiaoh 2022-11-28   65  	pr_debug("\t\trx_port \t\t= %d", sdinfo->rx_port);
cfb5743695d51c zouxiaoh 2022-11-28   66  	pr_debug("\t\tphy_i2c_addr \t\t= 0x%x", sdinfo->phy_i2c_addr);
cfb5743695d51c zouxiaoh 2022-11-28   67  	pr_debug("\t\tser_alias \t\t= 0x%x", sdinfo->ser_alias);
cfb5743695d51c zouxiaoh 2022-11-28   68  	pr_debug("\t\tsuffix \t\t\t= %c", sdinfo->suffix);
cfb5743695d51c zouxiaoh 2022-11-28   69  	pr_debug("\t\tboard_info.type \t= %s", sdinfo->board_info.type);
cfb5743695d51c zouxiaoh 2022-11-28   70  	pr_debug("\t\tboard_info.addr \t= 0x%x", sdinfo->board_info.addr);
cfb5743695d51c zouxiaoh 2022-11-28   71  
cfb5743695d51c zouxiaoh 2022-11-28   72  	pr_debug("serdes board_info.platform_data");
cfb5743695d51c zouxiaoh 2022-11-28   73  	pr_debug("\t\tlanes \t\t\t= %d", sd_mpdata->lanes);
cfb5743695d51c zouxiaoh 2022-11-28   74  	pr_debug("\t\tmodule_name \t\t= %s", sd_mpdata->module_name);
cfb5743695d51c zouxiaoh 2022-11-28   75  	pr_debug("\t\tfsin \t\t\t= %d", sd_mpdata->fsin);
cfb5743695d51c zouxiaoh 2022-11-28   76  
cfb5743695d51c zouxiaoh 2022-11-28   77  	if (serdes_info.gpio_powerup_seq > 0)
cfb5743695d51c zouxiaoh 2022-11-28   78  		for (j = 0; j < serdes_info.gpio_powerup_seq; j++)
cfb5743695d51c zouxiaoh 2022-11-28   79  			pr_debug("\t\t gpio_powerup_seq[%d] \t= %d", j,
cfb5743695d51c zouxiaoh 2022-11-28   80  				(int)sd_mpdata->gpio_powerup_seq[j]);
cfb5743695d51c zouxiaoh 2022-11-28   81  }
cfb5743695d51c zouxiaoh 2022-11-28   82  
cfb5743695d51c zouxiaoh 2022-11-28  @83  void print_serdes_subdev(struct ipu_isys_subdev_info *sd)
cfb5743695d51c zouxiaoh 2022-11-28   84  {
cfb5743695d51c zouxiaoh 2022-11-28   85  	struct serdes_platform_data *sd_pdata = sd->i2c.board_info.platform_data;
cfb5743695d51c zouxiaoh 2022-11-28   86  	int i;
cfb5743695d51c zouxiaoh 2022-11-28   87  	struct serdes_subdev_info *sd_sdinfo;
cfb5743695d51c zouxiaoh 2022-11-28   88  	struct serdes_module_pdata *sd_mpdata;
cfb5743695d51c zouxiaoh 2022-11-28   89  
cfb5743695d51c zouxiaoh 2022-11-28   90  	if (!sd_pdata) {
cfb5743695d51c zouxiaoh 2022-11-28   91  		pr_err("Empty serdes subdev pdata");
cfb5743695d51c zouxiaoh 2022-11-28   92  		return;
cfb5743695d51c zouxiaoh 2022-11-28   93  	}
cfb5743695d51c zouxiaoh 2022-11-28   94  
cfb5743695d51c zouxiaoh 2022-11-28   95  	pr_debug("IPU6 ACPI %s", __func__);
cfb5743695d51c zouxiaoh 2022-11-28   96  	pr_debug("sd_csi2");
cfb5743695d51c zouxiaoh 2022-11-28   97  	pr_debug("\t\tnlanes \t\t\t= %d", sd->csi2->nlanes);
cfb5743695d51c zouxiaoh 2022-11-28   98  	pr_debug("\t\tport \t\t\t= %d", sd->csi2->port);
cfb5743695d51c zouxiaoh 2022-11-28   99  
cfb5743695d51c zouxiaoh 2022-11-28  100  	pr_debug("sd->i2c");
cfb5743695d51c zouxiaoh 2022-11-28  101  	pr_debug("\t\ti2c_adapter_bdf \t= %s", sd->i2c.i2c_adapter_bdf);
cfb5743695d51c zouxiaoh 2022-11-28  102  	pr_debug("\t\tboard_info.type \t= %s", sd->i2c.board_info.type);
cfb5743695d51c zouxiaoh 2022-11-28  103  	pr_debug("\t\tboard_info.addr \t= 0x%x", sd->i2c.board_info.addr);
cfb5743695d51c zouxiaoh 2022-11-28  104  
cfb5743695d51c zouxiaoh 2022-11-28  105  	pr_debug("sd->i2c.board_info.platform_data");
cfb5743695d51c zouxiaoh 2022-11-28  106  	pr_debug("\t\treset_gpio \t\t= %d", sd_pdata->reset_gpio);
cfb5743695d51c zouxiaoh 2022-11-28  107  	pr_debug("\t\tFPD_gpio \t\t= %d", sd_pdata->FPD_gpio);
cfb5743695d51c zouxiaoh 2022-11-28  108  	pr_debug("\t\tsuffix \t\t\t= %c", sd_pdata->suffix);
cfb5743695d51c zouxiaoh 2022-11-28  109  
cfb5743695d51c zouxiaoh 2022-11-28  110  	for (i = 0; i < serdes_info.rx_port; i++) {
cfb5743695d51c zouxiaoh 2022-11-28  111  		sd_sdinfo = &sd_pdata->subdev_info[i];
cfb5743695d51c zouxiaoh 2022-11-28  112  		sd_mpdata = sd_sdinfo->board_info.platform_data;
cfb5743695d51c zouxiaoh 2022-11-28  113  
cfb5743695d51c zouxiaoh 2022-11-28  114  		if (!sd_mpdata)
cfb5743695d51c zouxiaoh 2022-11-28  115  			continue;
cfb5743695d51c zouxiaoh 2022-11-28  116  
cfb5743695d51c zouxiaoh 2022-11-28  117  		pr_debug("serdes subdev_info[%d]", i);
cfb5743695d51c zouxiaoh 2022-11-28  118  		print_serdes_sdinfo(sd_sdinfo);
cfb5743695d51c zouxiaoh 2022-11-28  119  	}
cfb5743695d51c zouxiaoh 2022-11-28  120  
cfb5743695d51c zouxiaoh 2022-11-28  121  }
cfb5743695d51c zouxiaoh 2022-11-28  122  
cfb5743695d51c zouxiaoh 2022-11-28 @123  void print_subdev(struct ipu_isys_subdev_info *sd)
cfb5743695d51c zouxiaoh 2022-11-28  124  {
cfb5743695d51c zouxiaoh 2022-11-28  125  	struct sensor_platform_data *spdata = sd->i2c.board_info.platform_data;
cfb5743695d51c zouxiaoh 2022-11-28  126  	int i;
cfb5743695d51c zouxiaoh 2022-11-28  127  
cfb5743695d51c zouxiaoh 2022-11-28  128  	if (!spdata) {
cfb5743695d51c zouxiaoh 2022-11-28  129  		pr_err("Empty sensor subdev");
cfb5743695d51c zouxiaoh 2022-11-28  130  		return;
cfb5743695d51c zouxiaoh 2022-11-28  131  	}
cfb5743695d51c zouxiaoh 2022-11-28  132  
cfb5743695d51c zouxiaoh 2022-11-28  133  	pr_debug("IPU6 ACPI %s", __func__);
cfb5743695d51c zouxiaoh 2022-11-28  134  	pr_debug("sd->csi2");
cfb5743695d51c zouxiaoh 2022-11-28  135  	pr_debug("\t\tnlanes \t\t\t= %d", sd->csi2->nlanes);
cfb5743695d51c zouxiaoh 2022-11-28  136  	pr_debug("\t\tport \t\t\t= %d", sd->csi2->port);
cfb5743695d51c zouxiaoh 2022-11-28  137  
cfb5743695d51c zouxiaoh 2022-11-28  138  	pr_debug("sd->i2c");
cfb5743695d51c zouxiaoh 2022-11-28  139  	pr_debug("\t\ti2c_adapter_bdf \t= %s", sd->i2c.i2c_adapter_bdf);
cfb5743695d51c zouxiaoh 2022-11-28  140  	pr_debug("\t\tboard_info.type \t= %s", sd->i2c.board_info.type);
cfb5743695d51c zouxiaoh 2022-11-28  141  	pr_debug("\t\tboard_info.addr \t= 0x%x", sd->i2c.board_info.addr);
cfb5743695d51c zouxiaoh 2022-11-28  142  
cfb5743695d51c zouxiaoh 2022-11-28  143  	pr_debug("sd->i2c.platform_data");
cfb5743695d51c zouxiaoh 2022-11-28  144  	pr_debug("\t\tport \t\t\t= %d", spdata->port);
cfb5743695d51c zouxiaoh 2022-11-28  145  	pr_debug("\t\tlanes \t\t\t= %d", spdata->lanes);
cfb5743695d51c zouxiaoh 2022-11-28  146  	pr_debug("\t\ti2c_slave_address \t= 0x%x", spdata->i2c_slave_address);
cfb5743695d51c zouxiaoh 2022-11-28  147  	pr_debug("\t\tirq_pin \t\t= %d", spdata->irq_pin);
cfb5743695d51c zouxiaoh 2022-11-28  148  	pr_debug("\t\tirq_pin_name \t\t= %s", spdata->irq_pin_name);
cfb5743695d51c zouxiaoh 2022-11-28  149  	pr_debug("\t\tsuffix \t\t\t= %c", spdata->suffix);
cfb5743695d51c zouxiaoh 2022-11-28  150  	pr_debug("\t\treset_pin \t\t= %d", spdata->reset_pin);
cfb5743695d51c zouxiaoh 2022-11-28  151  	pr_debug("\t\tdetect_pin \t\t= %d", spdata->detect_pin);
cfb5743695d51c zouxiaoh 2022-11-28  152  
9a2116b2763776 zouxiaoh 2022-11-09  153  	for (i = 0; i < IPU_SPDATA_GPIO_NUM; i++)
cfb5743695d51c zouxiaoh 2022-11-28  154  		pr_debug("\t\tgpios[%d] \t\t= %d", i, spdata->gpios[i]);
cfb5743695d51c zouxiaoh 2022-11-28  155  }
cfb5743695d51c zouxiaoh 2022-11-28  156  
cfb5743695d51c zouxiaoh 2022-11-28 @157  void add_local_subdevs(struct ipu_isys_subdev_info *new_subdev_info)
cfb5743695d51c zouxiaoh 2022-11-28  158  {
cfb5743695d51c zouxiaoh 2022-11-28  159  	struct ipu_isys_subdev_pdata *ptr_acpi_subdev_pdata = &acpi_subdev_pdata;
cfb5743695d51c zouxiaoh 2022-11-28  160  	int i = 0;
cfb5743695d51c zouxiaoh 2022-11-28  161  
cfb5743695d51c zouxiaoh 2022-11-28  162  	while (i <= MAX_ACPI_SENSOR_NUM) {
cfb5743695d51c zouxiaoh 2022-11-28  163  		if (!ptr_acpi_subdev_pdata->subdevs[i]) {
cfb5743695d51c zouxiaoh 2022-11-28  164  			ptr_acpi_subdev_pdata->subdevs[i] = new_subdev_info;
cfb5743695d51c zouxiaoh 2022-11-28  165  			ptr_acpi_subdev_pdata->subdevs[i+1] = NULL;
cfb5743695d51c zouxiaoh 2022-11-28  166  			break;
cfb5743695d51c zouxiaoh 2022-11-28  167  		}
cfb5743695d51c zouxiaoh 2022-11-28  168  		i++;
cfb5743695d51c zouxiaoh 2022-11-28  169  	}
cfb5743695d51c zouxiaoh 2022-11-28  170  }
cfb5743695d51c zouxiaoh 2022-11-28  171  
cfb5743695d51c zouxiaoh 2022-11-28 @172  void update_short(struct device *dev,
cfb5743695d51c zouxiaoh 2022-11-28  173  		char msg[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  174  		unsigned short *old_short,
cfb5743695d51c zouxiaoh 2022-11-28  175  		unsigned int new_short)
cfb5743695d51c zouxiaoh 2022-11-28  176  {
cfb5743695d51c zouxiaoh 2022-11-28  177  	if (*old_short != new_short) {
cfb5743695d51c zouxiaoh 2022-11-28  178  		dev_info(dev, "%s 0x%x -> 0x%x", msg, *old_short, new_short);
cfb5743695d51c zouxiaoh 2022-11-28  179  		*old_short = new_short;
cfb5743695d51c zouxiaoh 2022-11-28  180  	}
cfb5743695d51c zouxiaoh 2022-11-28  181  }
cfb5743695d51c zouxiaoh 2022-11-28  182  
cfb5743695d51c zouxiaoh 2022-11-28 @183  void update_hex(struct device *dev,
cfb5743695d51c zouxiaoh 2022-11-28  184  		char msg[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  185  		unsigned int *old_hex,
cfb5743695d51c zouxiaoh 2022-11-28  186  		unsigned int new_hex)
cfb5743695d51c zouxiaoh 2022-11-28  187  {
cfb5743695d51c zouxiaoh 2022-11-28  188  	if (*old_hex != new_hex) {
cfb5743695d51c zouxiaoh 2022-11-28  189  		dev_info(dev, "%s 0x%x -> 0x%x", msg, *old_hex, new_hex);
cfb5743695d51c zouxiaoh 2022-11-28  190  		*old_hex = new_hex;
cfb5743695d51c zouxiaoh 2022-11-28  191  	}
cfb5743695d51c zouxiaoh 2022-11-28  192  }
cfb5743695d51c zouxiaoh 2022-11-28  193  
cfb5743695d51c zouxiaoh 2022-11-28 @194  void update_int(struct device *dev,
cfb5743695d51c zouxiaoh 2022-11-28  195  		char msg[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  196  		unsigned int *old_int,
cfb5743695d51c zouxiaoh 2022-11-28  197  		unsigned int new_int)
cfb5743695d51c zouxiaoh 2022-11-28  198  {
cfb5743695d51c zouxiaoh 2022-11-28  199  	if (*old_int != new_int) {
cfb5743695d51c zouxiaoh 2022-11-28  200  		dev_info(dev, "%s %d -> %d", msg, *old_int, new_int);
cfb5743695d51c zouxiaoh 2022-11-28  201  		*old_int = new_int;
cfb5743695d51c zouxiaoh 2022-11-28  202  	}
cfb5743695d51c zouxiaoh 2022-11-28  203  }
cfb5743695d51c zouxiaoh 2022-11-28  204  
cfb5743695d51c zouxiaoh 2022-11-28 @205  void update_inta(struct device *dev,
cfb5743695d51c zouxiaoh 2022-11-28  206  		char msg[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  207  		int old_int[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  208  		int new_int[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  209  		size_t size)
cfb5743695d51c zouxiaoh 2022-11-28  210  {
cfb5743695d51c zouxiaoh 2022-11-28  211  	int i;
cfb5743695d51c zouxiaoh 2022-11-28  212  
cfb5743695d51c zouxiaoh 2022-11-28  213  	for (i = 0; i < size; i++) {
cfb5743695d51c zouxiaoh 2022-11-28  214  		if (old_int[i] != new_int[i]) {
cfb5743695d51c zouxiaoh 2022-11-28  215  			dev_info(dev, "%s %d -> %d", msg, old_int[i], new_int[i]);
cfb5743695d51c zouxiaoh 2022-11-28  216  			old_int[i] = new_int[i];
cfb5743695d51c zouxiaoh 2022-11-28  217  		}
cfb5743695d51c zouxiaoh 2022-11-28  218  	}
cfb5743695d51c zouxiaoh 2022-11-28  219  }
cfb5743695d51c zouxiaoh 2022-11-28  220  
cfb5743695d51c zouxiaoh 2022-11-28 @221  void update_str(struct device *dev,
cfb5743695d51c zouxiaoh 2022-11-28  222  		char msg[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  223  		char old_str[MSG_LEN],
cfb5743695d51c zouxiaoh 2022-11-28  224  		char new_str[MSG_LEN])
cfb5743695d51c zouxiaoh 2022-11-28  225  {
cfb5743695d51c zouxiaoh 2022-11-28  226  	if (strcmp(old_str, new_str) != 0) {
cfb5743695d51c zouxiaoh 2022-11-28  227  		dev_info(dev, "%s %s -> %s", msg, old_str, new_str);
cfb5743695d51c zouxiaoh 2022-11-28  228  		strlcpy(old_str, new_str, strlen(new_str)+1);
cfb5743695d51c zouxiaoh 2022-11-28  229  	}
cfb5743695d51c zouxiaoh 2022-11-28  230  }
cfb5743695d51c zouxiaoh 2022-11-28  231  
cfb5743695d51c zouxiaoh 2022-11-28 @232  void update_subdev(struct device *dev,
cfb5743695d51c zouxiaoh 2022-11-28  233  			struct ipu_isys_subdev_info *new_sd,
cfb5743695d51c zouxiaoh 2022-11-28  234  			struct ipu_isys_subdev_info **old_sd)
cfb5743695d51c zouxiaoh 2022-11-28  235  {
cfb5743695d51c zouxiaoh 2022-11-28  236  	struct sensor_platform_data *old_pdata =
cfb5743695d51c zouxiaoh 2022-11-28  237  					(*old_sd)->i2c.board_info.platform_data;
cfb5743695d51c zouxiaoh 2022-11-28  238  
cfb5743695d51c zouxiaoh 2022-11-28  239  	struct sensor_platform_data *new_pdata =
cfb5743695d51c zouxiaoh 2022-11-28  240  					new_sd->i2c.board_info.platform_data;
cfb5743695d51c zouxiaoh 2022-11-28  241  
cfb5743695d51c zouxiaoh 2022-11-28  242  	/* csi2 */
cfb5743695d51c zouxiaoh 2022-11-28  243  	update_int(dev, "CSI2 port", &(*old_sd)->csi2->port, new_sd->csi2->port);
cfb5743695d51c zouxiaoh 2022-11-28  244  	update_int(dev, "CSI2 nlanes", &(*old_sd)->csi2->nlanes, new_sd->csi2->nlanes);
cfb5743695d51c zouxiaoh 2022-11-28  245  
cfb5743695d51c zouxiaoh 2022-11-28  246  	/* i2c */
cfb5743695d51c zouxiaoh 2022-11-28  247  	update_short(dev, "I2C board_info addr", &(*old_sd)->i2c.board_info.addr,
cfb5743695d51c zouxiaoh 2022-11-28  248  		new_sd->i2c.board_info.addr);
cfb5743695d51c zouxiaoh 2022-11-28  249  	update_str(dev, "I2C i2c_adapter_bdf", (*old_sd)->i2c.i2c_adapter_bdf,
cfb5743695d51c zouxiaoh 2022-11-28  250  		new_sd->i2c.i2c_adapter_bdf);
cfb5743695d51c zouxiaoh 2022-11-28  251  
cfb5743695d51c zouxiaoh 2022-11-28  252  	/* platform data */
cfb5743695d51c zouxiaoh 2022-11-28  253  	update_int(dev, "pdata port", &(old_pdata)->port, new_pdata->port);
cfb5743695d51c zouxiaoh 2022-11-28  254  	update_int(dev, "pdata lanes", &(old_pdata)->lanes, new_pdata->lanes);
cfb5743695d51c zouxiaoh 2022-11-28  255  	update_hex(dev, "pdata I2C slave addr", &(old_pdata)->i2c_slave_address,
cfb5743695d51c zouxiaoh 2022-11-28  256  		new_pdata->i2c_slave_address);
cfb5743695d51c zouxiaoh 2022-11-28  257  	update_int(dev, "pdata irq_pin", &(old_pdata)->irq_pin, new_pdata->irq_pin);
cfb5743695d51c zouxiaoh 2022-11-28  258  	update_str(dev, "pdata irq_pin_name", old_pdata->irq_pin_name, new_pdata->irq_pin_name);
cfb5743695d51c zouxiaoh 2022-11-28  259  	update_int(dev, "pdata reset_pin", &(old_pdata)->reset_pin, new_pdata->reset_pin);
cfb5743695d51c zouxiaoh 2022-11-28  260  	update_int(dev, "pdata detect_pin", &(old_pdata)->detect_pin, new_pdata->detect_pin);
9a2116b2763776 zouxiaoh 2022-11-09  261  	update_inta(dev, "pdata gpios", old_pdata->gpios, new_pdata->gpios, IPU_SPDATA_GPIO_NUM);
cfb5743695d51c zouxiaoh 2022-11-28  262  }
cfb5743695d51c zouxiaoh 2022-11-28  263  

:::::: The code at line 55 was first introduced by commit
:::::: cfb5743695d51c3d275a3646d140336c6e515358 media: intel-ipu6: implement new vc solution

:::::: TO: zouxiaoh <xiaohong.zou@intel.com>
:::::: CC: renjiaox <jiaojiaox.ren@intel.com>

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-07-13 10:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-13 10:51 [intel-lts:5.15/linux 26/38] drivers/media/platform/intel/ipu6-acpi-pdata.c:55:6: warning: no previous prototype for 'print_serdes_sdinfo' kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.