Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
f23d4911
Commit
f23d4911
authored
Apr 13, 2009
by
Eric Miao
Committed by
Eric Miao
Jun 05, 2009
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[ARM] pxa: add platform device ID table to pxa i2c driver
Signed-off-by:
Eric Miao
<
eric.miao@marvell.com
>
parent
9fa7eb28
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
19 additions
and
3 deletions
+19
-3
arch/arm/mach-pxa/devices.c
arch/arm/mach-pxa/devices.c
+1
-1
drivers/i2c/busses/i2c-pxa.c
drivers/i2c/busses/i2c-pxa.c
+18
-2
No files found.
arch/arm/mach-pxa/devices.c
View file @
f23d4911
...
...
@@ -287,7 +287,7 @@ static struct resource pxa3xx_resources_i2c_power[] = {
};
struct
platform_device
pxa3xx_device_i2c_power
=
{
.
name
=
"pxa
2xx-
i2c"
,
.
name
=
"pxa
3xx-pwr
i2c"
,
.
id
=
1
,
.
resource
=
pxa3xx_resources_i2c_power
,
.
num_resources
=
ARRAY_SIZE
(
pxa3xx_resources_i2c_power
),
...
...
drivers/i2c/busses/i2c-pxa.c
View file @
f23d4911
...
...
@@ -34,11 +34,25 @@
#include <linux/err.h>
#include <linux/clk.h>
#include <mach/hardware.h>
#include <asm/irq.h>
#include <asm/io.h>
#include <mach/i2c.h>
/*
* I2C register offsets will be shifted 0 or 1 bit left, depending on
* different SoCs
*/
#define REG_SHIFT_0 (0 << 0)
#define REG_SHIFT_1 (1 << 0)
#define REG_SHIFT(d) ((d) & 0x1)
static
const
struct
platform_device_id
i2c_pxa_id_table
[]
=
{
{
"pxa2xx-i2c"
,
REG_SHIFT_1
},
{
"pxa3xx-pwri2c"
,
REG_SHIFT_0
},
{
},
};
MODULE_DEVICE_TABLE
(
platform
,
i2c_pxa_id_table
);
/*
* I2C registers and bit definitions
*/
...
...
@@ -985,6 +999,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
struct
pxa_i2c
*
i2c
;
struct
resource
*
res
;
struct
i2c_pxa_platform_data
*
plat
=
dev
->
dev
.
platform_data
;
struct
platform_device_id
*
id
=
platform_get_device_id
(
dev
);
int
ret
;
int
irq
;
...
...
@@ -1028,7 +1043,7 @@ static int i2c_pxa_probe(struct platform_device *dev)
ret
=
-
EIO
;
goto
eremap
;
}
i2c
->
reg_shift
=
(
cpu_is_pxa3xx
()
&&
(
dev
->
id
==
1
))
?
0
:
1
;
i2c
->
reg_shift
=
REG_SHIFT
(
id
->
driver_data
)
;
i2c
->
iobase
=
res
->
start
;
i2c
->
iosize
=
res_len
(
res
);
...
...
@@ -1150,6 +1165,7 @@ static struct platform_driver i2c_pxa_driver = {
.
name
=
"pxa2xx-i2c"
,
.
owner
=
THIS_MODULE
,
},
.
id_table
=
i2c_pxa_id_table
,
};
static
int
__init
i2c_adap_pxa_init
(
void
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment