lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202507110611.wdky6fjF-lkp@intel.com>
Date: Fri, 11 Jul 2025 06:13:35 +0800
From: kernel test robot <lkp@...el.com>
To: Karthik Poduval <kpoduval@...126.com>, jyxiong@...zon.com,
	miguel.lopes@...opsys.com, anishkmr@...zon.com, vkoul@...nel.org,
	kishon@...nel.org, linux-kernel@...r.kernel.org,
	linux-phy@...ts.infradead.org, robh@...nel.org, krzk+dt@...nel.org,
	conor+dt@...nel.org, devicetree@...r.kernel.org
Cc: oe-kbuild-all@...ts.linux.dev, Karthik Poduval <kpoduval@...126.com>
Subject: Re: [PATCH v2 1/2] phy: dw-dphy-rx: Add Synopsys DesignWare D-PHY RX

Hi Karthik,

kernel test robot noticed the following build warnings:

[auto build test WARNING on robh/for-next]
[also build test WARNING on linus/master v6.16-rc5 next-20250710]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Karthik-Poduval/phy-dw-dphy-rx-Add-Synopsys-DesignWare-D-PHY-RX/20250710-104505
base:   https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link:    https://lore.kernel.org/r/2383f8cf2a8f5e1b914d4cf9bd11674ed55876d2.1752106239.git.kpoduval%40lab126.com
patch subject: [PATCH v2 1/2] phy: dw-dphy-rx: Add Synopsys DesignWare D-PHY RX
config: x86_64-randconfig-002-20250711 (https://download.01.org/0day-ci/archive/20250711/202507110611.wdky6fjF-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250711/202507110611.wdky6fjF-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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507110611.wdky6fjF-lkp@intel.com/

All warnings (new ones prefixed by >>):

>> drivers/phy/phy-dw-dphy.c:254:11: warning: 'dw_dphy_te_read' defined but not used [-Wunused-function]
     254 | static u8 dw_dphy_te_read(struct dw_dphy *dphy, u16 addr)
         |           ^~~~~~~~~~~~~~~
--
>> Warning: drivers/phy/phy-dw-dphy.c:172 struct member 'dev' not described in 'dw_dphy'
>> Warning: drivers/phy/phy-dw-dphy.c:172 struct member 'dt_data' not described in 'dw_dphy'
>> Warning: drivers/phy/phy-dw-dphy.c:172 Excess struct member 'regmap' description in 'dw_dphy'
>> Warning: drivers/phy/phy-dw-dphy.c:172 Excess struct member 'dt_data_dw_dphy' description in 'dw_dphy'


vim +/dw_dphy_te_read +254 drivers/phy/phy-dw-dphy.c

   146	
   147	/**
   148	 * struct dw_dphy - DW D-PHY driver private structure
   149	 *
   150	 * @regmap: pointer to regmap
   151	 * @regmap_cfg1: pointer to config1 regmap
   152	 * @regmap_cfg2: pointer to config2 regmap
   153	 * @rf_cfg1: array of regfields for config1
   154	 * @rf_cfg2: array of regfields for config2
   155	 * @iomem_cfg1: MMIO address for cfg1 section
   156	 * @iomem_cfg2: MMIO address for cfg2 section
   157	 * @phy: pointer to the phy data structure
   158	 * @hs_clk_rate: high speed clock rate as per image sensor configuration
   159	 * @dt_data_dw_dphy: device tree specific data
   160	 *
   161	 **/
   162	struct dw_dphy {
   163		struct regmap *regmap_cfg1;
   164		struct regmap *regmap_cfg2;
   165		struct regmap_field *rf_cfg1[DW_DPHY_RF_CFG1_MAX];
   166		struct regmap_field *rf_cfg2[DW_DPHY_RF_CFG2_MAX];
   167		void __iomem *iomem_cfg1;
   168		void __iomem *iomem_cfg2;
   169		struct phy *phy;
   170		struct device *dev;
   171		unsigned long hs_clk_rate;
 > 172		struct dt_data_dw_dphy *dt_data;
   173	};
   174	
   175	/**
   176	 * dw_dphy_te_write - write register into test enable interface
   177	 *
   178	 * @dphy: pointer to the dw_dphy private data structure
   179	 * @addr: 12 bit TE address register (16 bit container)
   180	 * @data: 8 bit data to be written to TE register
   181	 *
   182	 **/
   183	static void dw_dphy_te_write(struct dw_dphy *dphy, u16 addr, u8 data)
   184	{
   185		/* For writing the 4-bit testcode MSBs */
   186	
   187		/* Ensure that testclk and testen is set to low */
   188		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   189		regmap_field_write(dphy->rf_cfg1[TEST_EN], 0);
   190	
   191		/* Set testen to high */
   192		regmap_field_write(dphy->rf_cfg1[TEST_EN], 1);
   193	
   194		/* Set testclk to high */
   195		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   196	
   197		/* Place 0x00 in testdin */
   198		regmap_field_write(dphy->rf_cfg1[TEST_IN], 0);
   199	
   200		/*
   201		 * Set testclk to low (with the falling edge on testclk, the testdin signal
   202		 * content is latched internally)
   203		 */
   204		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   205	
   206		/* Set testen to low */
   207		regmap_field_write(dphy->rf_cfg1[TEST_EN], 0);
   208	
   209		/* Place the 8-bit word corresponding to the testcode MSBs in testdin */
   210		regmap_field_write(dphy->rf_cfg1[TEST_IN], (addr >> 8));
   211	
   212		/* Set testclk to high */
   213		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   214	
   215		/* For writing the 8-bit testcode LSBs */
   216	
   217		/* Set testclk to low */
   218		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   219	
   220		/* Set testen to high */
   221		regmap_field_write(dphy->rf_cfg1[TEST_EN], 1);
   222	
   223		/* Set testclk to high */
   224		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   225	
   226		/* Place the 8-bit word test data in testdin */
   227		regmap_field_write(dphy->rf_cfg1[TEST_IN], (addr & 0xff));
   228	
   229		/*
   230		 * Set testclk to low (with the falling edge on testclk, the testdin signal
   231		 * content is latched internally)
   232		 */
   233		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   234	
   235		/* Set testen to low */
   236		regmap_field_write(dphy->rf_cfg1[TEST_EN], 0);
   237	
   238		/* For writing the data */
   239	
   240		/* Place the 8-bit word corresponding to the page offset in testdin */
   241		regmap_field_write(dphy->rf_cfg1[TEST_IN], data);
   242	
   243		/* Set testclk to high (test data is programmed internally) */
   244		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   245	}
   246	
   247	/**
   248	 * dw_dphy_te_read - read register from test enable interface
   249	 *
   250	 * @dphy: pointer to the dw_dphy private data structure
   251	 * @addr: 12 bit TE address register (16 bit container)
   252	 * @returns: 8 bit data from TE register
   253	 **/
 > 254	static u8 dw_dphy_te_read(struct dw_dphy *dphy, u16 addr)
   255	{
   256		u32 data;
   257	
   258		/* For writing the 4-bit testcode MSBs */
   259	
   260		/* Ensure that testclk and testen is set to low */
   261		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   262		regmap_field_write(dphy->rf_cfg1[TEST_EN], 0);
   263	
   264		/* Set testen to high */
   265		regmap_field_write(dphy->rf_cfg1[TEST_EN], 1);
   266	
   267		/* Set testclk to high */
   268		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   269	
   270		/* Place 0x00 in testdin */
   271		regmap_field_write(dphy->rf_cfg1[TEST_IN], 0);
   272	
   273		/*
   274		 * Set testclk to low (with the falling edge on testclk, the testdin signal
   275		 * content is latched internally)
   276		 */
   277		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   278	
   279		/* Set testen to low */
   280		regmap_field_write(dphy->rf_cfg1[TEST_EN], 0);
   281	
   282		/* Place the 8-bit word corresponding to the testcode MSBs in testdin */
   283		regmap_field_write(dphy->rf_cfg1[TEST_IN], (addr >> 8));
   284	
   285		/* Set testclk to high */
   286		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   287	
   288		/* For writing the 8-bit testcode LSBs */
   289	
   290		/* Set testclk to low */
   291		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   292	
   293		/* Set testen to high */
   294		regmap_field_write(dphy->rf_cfg1[TEST_EN], 1);
   295	
   296		/* Set testclk to high */
   297		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 1);
   298	
   299		/* Place the 8-bit word test data in testdin */
   300		regmap_field_write(dphy->rf_cfg1[TEST_IN], (addr & 0xff));
   301	
   302		/*
   303		 * Set testclk to low (with the falling edge on testclk, the testdin signal
   304		 * content is latched internally)
   305		 */
   306		regmap_field_write(dphy->rf_cfg1[TEST_CLK], 0);
   307	
   308		/* Set testen to low */
   309		regmap_field_write(dphy->rf_cfg1[TEST_EN], 0);
   310	
   311		regmap_field_read(dphy->rf_cfg1[TEST_OUT], &data);
   312	
   313		return (u8)data;
   314	}
   315	

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ