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: Tony SIM <chinyeow.sim.xt@renesas.com> Signed-off-by: Andrew Chew <achew@nvidia.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ea801950cf
commit
f2f1794835
@@ -29,6 +29,7 @@
|
|||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
|
|
||||||
#include <linux/gpio.h>
|
#include <linux/gpio.h>
|
||||||
|
#include <linux/input/ak8975.h>
|
||||||
|
|
||||||
#include "../iio.h"
|
#include "../iio.h"
|
||||||
#include "magnet.h"
|
#include "magnet.h"
|
||||||
@@ -435,6 +436,7 @@ static int ak8975_probe(struct i2c_client *client,
|
|||||||
const struct i2c_device_id *id)
|
const struct i2c_device_id *id)
|
||||||
{
|
{
|
||||||
struct ak8975_data *data;
|
struct ak8975_data *data;
|
||||||
|
struct ak8975_platform_data *pdata;
|
||||||
int err;
|
int err;
|
||||||
|
|
||||||
/* Allocate our device context. */
|
/* Allocate our device context. */
|
||||||
@@ -452,7 +454,11 @@ static int ak8975_probe(struct i2c_client *client,
|
|||||||
|
|
||||||
/* Grab and set up the supplied GPIO. */
|
/* Grab and set up the supplied GPIO. */
|
||||||
data->eoc_irq = client->irq;
|
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) {
|
if (!data->eoc_gpio) {
|
||||||
dev_err(&client->dev, "failed, no valid GPIO\n");
|
dev_err(&client->dev, "failed, no valid GPIO\n");
|
||||||
|
20
include/linux/input/ak8975.h
Normal file
20
include/linux/input/ak8975.h
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
/*
|
||||||
|
* 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
|
Reference in New Issue
Block a user