mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Peter Ujfalusi <peter.ujfalusi@ti.com>
To: Samuel Ortiz <sameo@linux.intel.com>
Cc: <linux-kernel@vger.kernel.org>, <linux-omap@vger.kernel.org>,
	Tero Kristo <t-kristo@ti.com>
Subject: [PATCH 06/10] mfd: twl-core: Do not create dummy pdata when booted with DT
Date: Mon, 31 Dec 2012 12:09:27 +0100	[thread overview]
Message-ID: <1356952171-6109-7-git-send-email-peter.ujfalusi@ti.com> (raw)
In-Reply-To: <1356952171-6109-1-git-send-email-peter.ujfalusi@ti.com>

When booted with DT we can manage without the dummy pdata.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
---
 drivers/mfd/twl-core.c | 31 +++++++------------------------
 1 file changed, 7 insertions(+), 24 deletions(-)

diff --git a/drivers/mfd/twl-core.c b/drivers/mfd/twl-core.c
index 86cca9e..547fed5 100644
--- a/drivers/mfd/twl-core.c
+++ b/drivers/mfd/twl-core.c
@@ -1165,6 +1165,11 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
 	int				status;
 	unsigned			i, num_slaves;
 
+	if (!node && !pdata) {
+		dev_err(&client->dev, "no platform data\n");
+		return -EINVAL;
+	}
+
 	pdev = platform_device_alloc(DRIVER_NAME, -1);
 	if (!pdev) {
 		dev_err(&client->dev, "can't alloc pdev\n");
@@ -1177,28 +1182,6 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
 		return status;
 	}
 
-	if (node && !pdata) {
-		/*
-		 * XXX: Temporary pdata until the information is correctly
-		 * retrieved by every TWL modules from DT.
-		 */
-		pdata = devm_kzalloc(&client->dev,
-				     sizeof(struct twl4030_platform_data),
-				     GFP_KERNEL);
-		if (!pdata) {
-			status = -ENOMEM;
-			goto free;
-		}
-	}
-
-	if (!pdata) {
-		dev_dbg(&client->dev, "no platform data?\n");
-		status = -EINVAL;
-		goto free;
-	}
-
-	platform_set_drvdata(pdev, pdata);
-
 	if (i2c_check_functionality(client->adapter, I2C_FUNC_I2C) == 0) {
 		dev_dbg(&client->dev, "can't talk I2C?\n");
 		status = -EIO;
@@ -1264,7 +1247,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
 	inuse = true;
 
 	/* setup clock framework */
-	clocks_init(&pdev->dev, pdata->clock);
+	clocks_init(&pdev->dev, pdata ? pdata->clock : NULL);
 
 	/* read TWL IDCODE Register */
 	if (twl_id == TWL4030_CLASS_ID) {
@@ -1273,7 +1256,7 @@ twl_probe(struct i2c_client *client, const struct i2c_device_id *id)
 	}
 
 	/* load power event scripts */
-	if (IS_ENABLED(CONFIG_TWL4030_POWER) && pdata->power)
+	if (IS_ENABLED(CONFIG_TWL4030_POWER) && pdata && pdata->power)
 		twl4030_power_init(pdata->power);
 
 	/* Maybe init the T2 Interrupt subsystem */
-- 
1.8.0.2


  parent reply	other threads:[~2012-12-31 11:11 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-31 11:09 [PATCH 00/10] MFD: twl-core: Cleanup part 2 for 3.9 Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 01/10] mfd: twl-core: Clean up module id lookup and definitions Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 02/10] mfd: twl-core: No need to check for invalid subchip ID Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 03/10] mfd: twl-core: Use the lookup table to find the correct subchip for the modules Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 04/10] mfd: twl-core: Allocate twl_modules dynamically Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 05/10] mfd: twl-core: Do not try to call legacy mfd add_children() when booted with DT Peter Ujfalusi
2012-12-31 11:09 ` Peter Ujfalusi [this message]
2012-12-31 11:09 ` [PATCH 07/10] mfd: twl-core: Move 'inuse' check early at probe time Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 08/10] mfd: twl-core: Collect global variables behind one private structure (global) Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 09/10] mfd: twl-core: Remove no longer valid comment regarding to write buffer size Peter Ujfalusi
2012-12-31 11:09 ` [PATCH 10/10] mfd: twl-core: Move twl_i2c_read/write_u8 to header as inline function Peter Ujfalusi
2013-01-15  8:20 ` [PATCH 00/10] MFD: twl-core: Cleanup part 2 for 3.9 Peter Ujfalusi

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1356952171-6109-7-git-send-email-peter.ujfalusi@ti.com \
    --to=peter.ujfalusi@ti.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-omap@vger.kernel.org \
    --cc=sameo@linux.intel.com \
    --cc=t-kristo@ti.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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®