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  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]
Date:   Mon, 10 Oct 2022 22:38:17 +0200
From:   Andrew Lunn <andrew@...n.ch>
To:     Soha Jin <soha@...u.info>
Cc:     Giuseppe Cavallaro <peppe.cavallaro@...com>,
        Alexandre Torgue <alexandre.torgue@...s.st.com>,
        Jose Abreu <joabreu@...opsys.com>,
        "David S. Miller" <davem@...emloft.net>,
        Eric Dumazet <edumazet@...gle.com>,
        Jakub Kicinski <kuba@...nel.org>,
        Paolo Abeni <pabeni@...hat.com>,
        Yangyu Chen <cyy@...self.name>, netdev@...r.kernel.org,
        linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/3] net: stmmac: use fwnode instead of of to configure
 driver

> -	axi->axi_lpi_en = of_property_read_bool(np, "snps,lpi_en");
> -	axi->axi_xit_frm = of_property_read_bool(np, "snps,xit_frm");
> -	axi->axi_kbbe = of_property_read_bool(np, "snps,axi_kbbe");
> -	axi->axi_fb = of_property_read_bool(np, "snps,axi_fb");
> -	axi->axi_mb = of_property_read_bool(np, "snps,axi_mb");
> -	axi->axi_rb =  of_property_read_bool(np, "snps,axi_rb");
> +	axi->axi_lpi_en = fwnode_property_read_bool(fwnode, "snps,lpi_en");
> +	axi->axi_xit_frm = fwnode_property_read_bool(fwnode, "snps,xit_frm");
> +	axi->axi_kbbe = fwnode_property_read_bool(fwnode, "snps,axi_kbbe");
> +	axi->axi_fb = fwnode_property_read_bool(fwnode, "snps,axi_fb");
> +	axi->axi_mb = fwnode_property_read_bool(fwnode, "snps,axi_mb");
> +	axi->axi_rb =  fwnode_property_read_bool(fwnode, "snps,axi_rb");
>  
> -	if (of_property_read_u32(np, "snps,wr_osr_lmt", &axi->axi_wr_osr_lmt))
> +	if (fwnode_property_read_u32(fwnode, "snps,wr_osr_lmt",
> +				     &axi->axi_wr_osr_lmt))
>  		axi->axi_wr_osr_lmt = 1;
> -	if (of_property_read_u32(np, "snps,rd_osr_lmt", &axi->axi_rd_osr_lmt))
> +	if (fwnode_property_read_u32(fwnode, "snps,rd_osr_lmt",
> +				     &axi->axi_rd_osr_lmt))
>  		axi->axi_rd_osr_lmt = 1;
> -	of_property_read_u32_array(np, "snps,blen", axi->axi_blen, AXI_BLEN);
> -	of_node_put(np);
> +	fwnode_property_read_u32_array(fwnode, "snps,blen", axi->axi_blen,
> +				       AXI_BLEN);
> +	fwnode_handle_put(fwnode);

None of these are documented as being valid in ACPI. Do you need to
ensure they only come from DT, or you document them for ACPI, and get
the ACPI maintainers to ACK that they are O.K.

>  
>  	return axi;
>  }
>  
>  /**
> - * stmmac_mtl_setup - parse DT parameters for multiple queues configuration
> + * stmmac_mtl_setup - parse properties for multiple queues configuration
>   * @pdev: platform device
>   * @plat: enet data
>   */
>  static int stmmac_mtl_setup(struct platform_device *pdev,
>  			    struct plat_stmmacenet_data *plat)
>  {
> -	struct device_node *q_node;
> -	struct device_node *rx_node;
> -	struct device_node *tx_node;
> +	struct fwnode_handle *fwnode = dev_fwnode(&pdev->dev);
> +	struct fwnode_handle *q_node;
> +	struct fwnode_handle *rx_node;
> +	struct fwnode_handle *tx_node;
>  	u8 queue = 0;
>  	int ret = 0;
>  
> -	/* For backwards-compatibility with device trees that don't have any
> +	/* For backwards-compatibility with properties that don't have any
>  	 * snps,mtl-rx-config or snps,mtl-tx-config properties, we fall back
>  	 * to one RX and TX queues each.
>  	 */

Backward compatibility only applies to DT. Anybody using ACPI should
not expect any backwards compatibility, they should be documented
mandatory properties right from the beginning.

	  Andrew

Powered by blists - more mailing lists