mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] ahci: qoriq: fixed using uninitialized variable warnings
@ 2015-09-10  7:13 Yuantian.Tang
  2015-09-10 14:22 ` Tejun Heo
  0 siblings, 1 reply; 3+ messages in thread
From: Yuantian.Tang @ 2015-09-10  7:13 UTC (permalink / raw)
  To: hdegoede; +Cc: tj, linux-ide, linux-kernel, Tang Yuantian

From: Tang Yuantian <Yuantian.Tang@freescale.com>

kbuild test robot reports the warnings:
drivers/ata/ahci_qoriq.c: In function 'ahci_qoriq_hardreset':
>> include/asm-generic/io.h:163:2: warning: 'px_is' may be used
>> uninitialized in this function [-Wuninitialized]
drivers/ata/ahci_qoriq.c:70:14: note: 'px_is' was declared here
>> include/asm-generic/io.h:163:2: warning: 'px_cmd' may be used
>> uninitialized in this function [-Wuninitialized]
drivers/ata/ahci_qoriq.c:70:6: note: 'px_cmd' was declared here

This patch fixed it by making type as a local variable.

Signed-off-by: Tang Yuantian <Yuantian.Tang@freescale.com>
---
v2:
	- try another way to fix the warnings
	- remove clean up code

 drivers/ata/ahci_qoriq.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/ata/ahci_qoriq.c b/drivers/ata/ahci_qoriq.c
index e5e4988..0d06e76 100644
--- a/drivers/ata/ahci_qoriq.c
+++ b/drivers/ata/ahci_qoriq.c
@@ -48,9 +48,9 @@ enum ahci_qoriq_type {
 	AHCI_LS2085A,
 };
 
+enum ahci_qoriq_type type;
 struct ahci_qoriq_priv {
 	struct ccsr_ahci *reg_base;
-	enum ahci_qoriq_type type;
 	void __iomem *ecc_addr;
 };
 
@@ -71,7 +71,6 @@ static int ahci_qoriq_hardreset(struct ata_link *link, unsigned int *class,
 	struct ata_port *ap = link->ap;
 	struct ahci_port_priv *pp = ap->private_data;
 	struct ahci_host_priv *hpriv = ap->host->private_data;
-	struct ahci_qoriq_priv *qoriq_priv = hpriv->plat_data;
 	u8 *d2h_fis = pp->rx_fis + RX_FIS_D2H_REG;
 	struct ata_taskfile tf;
 	bool online;
@@ -92,7 +91,7 @@ static int ahci_qoriq_hardreset(struct ata_link *link, unsigned int *class,
 	 * After the sequence is complete, software should restore the
 	 * PxCMD and PxIS with the stored values.
 	 */
-	if (qoriq_priv->type == AHCI_LS1021A) {
+	if (type == AHCI_LS1021A) {
 		px_cmd = readl(port_mmio + PORT_CMD);
 		px_is = readl(port_mmio + PORT_IRQ_STAT);
 	}
@@ -106,7 +105,7 @@ static int ahci_qoriq_hardreset(struct ata_link *link, unsigned int *class,
 				 ahci_check_ready);
 
 	/* restore the PxCMD and PxIS on ls1021 */
-	if (qoriq_priv->type == AHCI_LS1021A) {
+	if (type == AHCI_LS1021A) {
 		px_val = readl(port_mmio + PORT_CMD);
 		if (px_val != px_cmd)
 			writel(px_cmd, port_mmio + PORT_CMD);
@@ -146,7 +145,7 @@ static int ahci_qoriq_phy_init(struct ahci_host_priv *hpriv)
 	struct ahci_qoriq_priv *qpriv = hpriv->plat_data;
 	void __iomem *reg_base = hpriv->mmio;
 
-	switch (qpriv->type) {
+	switch (type) {
 	case AHCI_LS1021A:
 		writel(SATA_ECC_DISABLE, qpriv->ecc_addr);
 		writel(AHCI_PORT_PHY_1_CFG, reg_base + PORT_PHY1);
@@ -188,9 +187,9 @@ static int ahci_qoriq_probe(struct platform_device *pdev)
 	if (!qoriq_priv)
 		return -ENOMEM;
 
-	qoriq_priv->type = (enum ahci_qoriq_type)of_id->data;
+	type = (enum ahci_qoriq_type)of_id->data;
 
-	if (qoriq_priv->type == AHCI_LS1021A) {
+	if (type == AHCI_LS1021A) {
 		res = platform_get_resource_byname(pdev, IORESOURCE_MEM,
 				"sata-ecc");
 		qoriq_priv->ecc_addr = devm_ioremap_resource(dev, res);
-- 
2.1.0.27.g96db324


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2015-09-11  3:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-09-10  7:13 [PATCH v2] ahci: qoriq: fixed using uninitialized variable warnings Yuantian.Tang
2015-09-10 14:22 ` Tejun Heo
2015-09-11  3:31   ` Fengguang Wu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®