提交 f2f17948 编写于 作者: T Tony SIM 提交者: Greg Kroah-Hartman

staging: iio: ak8975: add platform data.

As some of the platform not support irq_to_gpio, we pass gpio port
by platform data.
Signed-off-by: NTony SIM <chinyeow.sim.xt@renesas.com>
Signed-off-by: NAndrew Chew <achew@nvidia.com>
Signed-off-by: NGreg Kroah-Hartman <gregkh@suse.de>
上级 ea801950
......@@ -29,6 +29,7 @@
#include <linux/delay.h>
#include <linux/gpio.h>
#include <linux/input/ak8975.h>
#include "../iio.h"
#include "magnet.h"
......@@ -435,6 +436,7 @@ static int ak8975_probe(struct i2c_client *client,
const struct i2c_device_id *id)
{
struct ak8975_data *data;
struct ak8975_platform_data *pdata;
int err;
/* Allocate our device context. */
......@@ -452,7 +454,11 @@ static int ak8975_probe(struct i2c_client *client,
/* Grab and set up the supplied GPIO. */
data->eoc_irq = client->irq;
data->eoc_gpio = irq_to_gpio(client->irq);
pdata = client->dev.platform_data;
if (pdata)
data->eoc_gpio = pdata->gpio;
else
data->eoc_gpio = irq_to_gpio(client->irq);
if (!data->eoc_gpio) {
dev_err(&client->dev, "failed, no valid GPIO\n");
......
/*
* ak8975 platform support
*
* Copyright (C) 2010 Renesas Solutions Corp.
*
* Author: Tony SIM <chinyeow.sim.xt@renesas.com>
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef _AK8975_H
#define _AK8975_H
struct ak8975_platform_data {
int gpio;
};
#endif
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册