Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 343198
b: refs/heads/master
c: ad02e84
h: refs/heads/master
v: v3
  • Loading branch information
Axel Lin authored and Mark Brown committed Dec 6, 2012
1 parent 793422b commit 58c9bf0
Show file tree
Hide file tree
Showing 86 changed files with 684 additions and 4,693 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: adca48f7c61c53708a1f1ed567e0447ccb2b3b96
refs/heads/master: ad02e846878ca35e9d3fa584be8ee770e9e14fce

This file was deleted.

This file was deleted.

This file was deleted.

32 changes: 0 additions & 32 deletions trunk/Documentation/devicetree/bindings/regulator/vexpress.txt

This file was deleted.

1 change: 1 addition & 0 deletions trunk/drivers/mfd/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -201,6 +201,7 @@ config MFD_TPS6586X
depends on I2C=y && GENERIC_HARDIRQS
select MFD_CORE
select REGMAP_I2C
depends on REGULATOR
help
If you say yes here you get support for the TPS6586X series of
Power Management chips.
Expand Down
73 changes: 1 addition & 72 deletions trunk/drivers/mfd/max8997.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,10 +21,8 @@
* This driver is based on max8998.c
*/

#include <linux/err.h>
#include <linux/slab.h>
#include <linux/i2c.h>
#include <linux/of_irq.h>
#include <linux/interrupt.h>
#include <linux/pm_runtime.h>
#include <linux/module.h>
Expand All @@ -49,13 +47,6 @@ static struct mfd_cell max8997_devs[] = {
{ .name = "max8997-led", .id = 2 },
};

#ifdef CONFIG_OF
static struct of_device_id __devinitdata max8997_pmic_dt_match[] = {
{ .compatible = "maxim,max8997-pmic", .data = TYPE_MAX8997 },
{},
};
#endif

int max8997_read_reg(struct i2c_client *i2c, u8 reg, u8 *dest)
{
struct max8997_dev *max8997 = i2c_get_clientdata(i2c);
Expand Down Expand Up @@ -132,58 +123,6 @@ int max8997_update_reg(struct i2c_client *i2c, u8 reg, u8 val, u8 mask)
}
EXPORT_SYMBOL_GPL(max8997_update_reg);

#ifdef CONFIG_OF
/*
* Only the common platform data elements for max8997 are parsed here from the
* device tree. Other sub-modules of max8997 such as pmic, rtc and others have
* to parse their own platform data elements from device tree.
*
* The max8997 platform data structure is instantiated here and the drivers for
* the sub-modules need not instantiate another instance while parsing their
* platform data.
*/
static struct max8997_platform_data *max8997_i2c_parse_dt_pdata(
struct device *dev)
{
struct max8997_platform_data *pd;

pd = devm_kzalloc(dev, sizeof(*pd), GFP_KERNEL);
if (!pd) {
dev_err(dev, "could not allocate memory for pdata\n");
return ERR_PTR(-ENOMEM);
}

pd->ono = irq_of_parse_and_map(dev->of_node, 1);

/*
* ToDo: the 'wakeup' member in the platform data is more of a linux
* specfic information. Hence, there is no binding for that yet and
* not parsed here.
*/

return pd;
}
#else
static struct max8997_platform_data *max8997_i2c_parse_dt_pdata(
struct device *dev)
{
return 0;
}
#endif

static inline int max8997_i2c_get_driver_data(struct i2c_client *i2c,
const struct i2c_device_id *id)
{
#ifdef CONFIG_OF
if (i2c->dev.of_node) {
const struct of_device_id *match;
match = of_match_node(max8997_pmic_dt_match, i2c->dev.of_node);
return (int)match->data;
}
#endif
return (int)id->driver_data;
}

static int max8997_i2c_probe(struct i2c_client *i2c,
const struct i2c_device_id *id)
{
Expand All @@ -198,21 +137,12 @@ static int max8997_i2c_probe(struct i2c_client *i2c,
i2c_set_clientdata(i2c, max8997);
max8997->dev = &i2c->dev;
max8997->i2c = i2c;
max8997->type = max8997_i2c_get_driver_data(i2c, id);
max8997->type = id->driver_data;
max8997->irq = i2c->irq;

if (max8997->dev->of_node) {
pdata = max8997_i2c_parse_dt_pdata(max8997->dev);
if (IS_ERR(pdata)) {
ret = PTR_ERR(pdata);
goto err;
}
}

if (!pdata)
goto err;

max8997->pdata = pdata;
max8997->ono = pdata->ono;

mutex_init(&max8997->iolock);
Expand Down Expand Up @@ -504,7 +434,6 @@ static struct i2c_driver max8997_i2c_driver = {
.name = "max8997",
.owner = THIS_MODULE,
.pm = &max8997_pm,
.of_match_table = of_match_ptr(max8997_pmic_dt_match),
},
.probe = max8997_i2c_probe,
.remove = max8997_i2c_remove,
Expand Down
Loading

0 comments on commit 58c9bf0

Please sign in to comment.