~ubuntu-branches/ubuntu/precise/linux-ti-omap4/precise-security

« back to all changes in this revision

Viewing changes to arch/arm/plat-samsung/dev-i2c6.c

  • Committer: Package Import Robot
  • Author(s): Paolo Pisati, Paolo Pisati
  • Date: 2011-12-06 15:56:07 UTC
  • Revision ID: package-import@ubuntu.com-20111206155607-pcf44kv5fmhk564f
Tags: 3.2.0-1401.1
[ Paolo Pisati ]

* Rebased on top of Ubuntu-3.2.0-3.8
* Tilt-tracking @ ef2487af4bb15bdd0689631774b5a5e3a59f74e2
* Delete debian.ti-omap4/control, it shoudln't be tracked
* Fix architecture spelling (s/armel/armhf/)
* [Config] Update configs following 3.2 import
* [Config] Fix compilation: disable CODA and ARCH_OMAP3
* [Config] Fix compilation: disable Ethernet Faraday
* Update series to precise

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/* linux/arch/arm/plat-samsung/dev-i2c6.c
2
 
 *
3
 
 * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4
 
 *              http://www.samsung.com/
5
 
 *
6
 
 * S5P series device definition for i2c device 6
7
 
 *
8
 
 * This program is free software; you can redistribute it and/or modify
9
 
 * it under the terms of the GNU General Public License version 2 as
10
 
 * published by the Free Software Foundation.
11
 
 */
12
 
 
13
 
#include <linux/gfp.h>
14
 
#include <linux/kernel.h>
15
 
#include <linux/string.h>
16
 
#include <linux/platform_device.h>
17
 
 
18
 
#include <mach/irqs.h>
19
 
#include <mach/map.h>
20
 
 
21
 
#include <plat/regs-iic.h>
22
 
#include <plat/iic.h>
23
 
#include <plat/devs.h>
24
 
#include <plat/cpu.h>
25
 
 
26
 
static struct resource s3c_i2c_resource[] = {
27
 
        [0] = {
28
 
                .start  = S3C_PA_IIC6,
29
 
                .end    = S3C_PA_IIC6 + SZ_4K - 1,
30
 
                .flags  = IORESOURCE_MEM,
31
 
        },
32
 
        [1] = {
33
 
                .start  = IRQ_IIC6,
34
 
                .end    = IRQ_IIC6,
35
 
                .flags  = IORESOURCE_IRQ,
36
 
        },
37
 
};
38
 
 
39
 
struct platform_device s3c_device_i2c6 = {
40
 
        .name           = "s3c2440-i2c",
41
 
        .id             = 6,
42
 
        .num_resources  = ARRAY_SIZE(s3c_i2c_resource),
43
 
        .resource       = s3c_i2c_resource,
44
 
};
45
 
 
46
 
static struct s3c2410_platform_i2c default_i2c_data6 __initdata = {
47
 
        .flags          = 0,
48
 
        .bus_num        = 6,
49
 
        .slave_addr     = 0x10,
50
 
        .frequency      = 100*1000,
51
 
        .sda_delay      = 100,
52
 
};
53
 
 
54
 
void __init s3c_i2c6_set_platdata(struct s3c2410_platform_i2c *pd)
55
 
{
56
 
        struct s3c2410_platform_i2c *npd;
57
 
 
58
 
        if (!pd)
59
 
                pd = &default_i2c_data6;
60
 
 
61
 
        npd = kmemdup(pd, sizeof(struct s3c2410_platform_i2c), GFP_KERNEL);
62
 
        if (!npd)
63
 
                printk(KERN_ERR "%s: no memory for platform data\n", __func__);
64
 
        else if (!npd->cfg_gpio)
65
 
                npd->cfg_gpio = s3c_i2c6_cfg_gpio;
66
 
 
67
 
        s3c_device_i2c6.dev.platform_data = npd;
68
 
}