~ubuntu-branches/debian/wheezy/linux-2.6/wheezy

« back to all changes in this revision

Viewing changes to arch/arm/mach-s5pc100/mach-smdkc100.c

  • Committer: Bazaar Package Importer
  • Author(s): Ben Hutchings, Ben Hutchings, Aurelien Jarno
  • Date: 2011-06-07 12:14:05 UTC
  • mfrom: (43.1.9 sid)
  • Revision ID: james.westby@ubuntu.com-20110607121405-i3h1rd7nrnd2b73h
Tags: 2.6.39-2
[ Ben Hutchings ]
* [x86] Enable BACKLIGHT_APPLE, replacing BACKLIGHT_MBP_NVIDIA
  (Closes: #627492)
* cgroups: Disable memory resource controller by default. Allow it
  to be enabled using kernel parameter 'cgroup_enable=memory'.
* rt2800usb: Enable support for more USB devices including
  Linksys WUSB600N (Closes: #596626) (this change was accidentally
  omitted from 2.6.39-1)
* [x86] Remove Celeron from list of processors supporting PAE. Most
  'Celeron M' models do not.
* Update debconf template translations:
  - Swedish (Martin Bagge) (Closes: #628932)
  - French (David Prévot) (Closes: #628191)
* aufs: Update for 2.6.39 (Closes: #627837)
* Add stable 2.6.39.1, including:
  - ext4: dont set PageUptodate in ext4_end_bio()
  - pata_cmd64x: fix boot crash on parisc (Closes: #622997, #622745)
  - ext3: Fix fs corruption when make_indexed_dir() fails
  - netfilter: nf_ct_sip: validate Content-Length in TCP SIP messages
  - sctp: fix race between sctp_bind_addr_free() and
    sctp_bind_addr_conflict()
  - sctp: fix memory leak of the ASCONF queue when free asoc
  - md/bitmap: fix saving of events_cleared and other state
  - cdc_acm: Fix oops when Droids MuIn LCD is connected
  - cx88: Fix conversion from BKL to fine-grained locks (Closes: #619827)
  - keys: Set cred->user_ns in key_replace_session_keyring (CVE-2011-2184)
  - tmpfs: fix race between truncate and writepage
  - nfs41: Correct offset for LAYOUTCOMMIT
  - xen/mmu: fix a race window causing leave_mm BUG()
  - ext4: fix possible use-after-free in ext4_remove_li_request()
  For the complete list of changes, see:
   http://www.kernel.org/pub/linux/kernel/v2.6/ChangeLog-2.6.39.1
* Bump ABI to 2
* netfilter: Enable IP_SET, IP_SET_BITMAP_IP, IP_SET_BITMAP_IPMAC,
  IP_SET_BITMAP_PORT, IP_SET_HASH_IP, IP_SET_HASH_IPPORT,
  IP_SET_HASH_IPPORTIP, IP_SET_HASH_IPPORTNET, IP_SET_HASH_NET,
  IP_SET_HASH_NETPORT, IP_SET_LIST_SET, NETFILTER_XT_SET as modules
  (Closes: #629401)

[ Aurelien Jarno ]
* [mipsel/loongson-2f] Disable_SCSI_LPFC to workaround GCC ICE.

Show diffs side-by-side

added added

removed removed

Lines of Context:
23
23
#include <linux/fb.h>
24
24
#include <linux/delay.h>
25
25
#include <linux/input.h>
 
26
#include <linux/pwm_backlight.h>
26
27
 
27
28
#include <asm/mach/arch.h>
28
29
#include <asm/mach/map.h>
29
30
 
30
31
#include <mach/map.h>
31
32
#include <mach/regs-fb.h>
 
33
#include <mach/regs-gpio.h>
 
34
 
32
35
#include <video/platform_lcd.h>
33
36
 
34
37
#include <asm/irq.h>
107
110
static void smdkc100_lcd_power_set(struct plat_lcd_data *pd,
108
111
                                   unsigned int power)
109
112
{
110
 
        /* backlight */
111
 
        gpio_direction_output(S5PC100_GPD(0), power);
112
 
 
113
113
        if (power) {
114
114
                /* module reset */
115
115
                gpio_direction_output(S5PC100_GPH0(6), 1);
179
179
        .cols           = 8,
180
180
};
181
181
 
 
182
static int smdkc100_backlight_init(struct device *dev)
 
183
{
 
184
        int ret;
 
185
 
 
186
        ret = gpio_request(S5PC100_GPD(0), "Backlight");
 
187
        if (ret) {
 
188
                printk(KERN_ERR "failed to request GPF for PWM-OUT0\n");
 
189
                return ret;
 
190
        }
 
191
 
 
192
        /* Configure GPIO pin with S5PC100_GPD_TOUT_0 */
 
193
        s3c_gpio_cfgpin(S5PC100_GPD(0), S3C_GPIO_SFN(2));
 
194
 
 
195
        return 0;
 
196
}
 
197
 
 
198
static void smdkc100_backlight_exit(struct device *dev)
 
199
{
 
200
        s3c_gpio_cfgpin(S5PC100_GPD(0), S3C_GPIO_OUTPUT);
 
201
        gpio_free(S5PC100_GPD(0));
 
202
}
 
203
 
 
204
static struct platform_pwm_backlight_data smdkc100_backlight_data = {
 
205
        .pwm_id         = 0,
 
206
        .max_brightness = 255,
 
207
        .dft_brightness = 255,
 
208
        .pwm_period_ns  = 78770,
 
209
        .init           = smdkc100_backlight_init,
 
210
        .exit           = smdkc100_backlight_exit,
 
211
};
 
212
 
 
213
static struct platform_device smdkc100_backlight_device = {
 
214
        .name           = "pwm-backlight",
 
215
        .dev            = {
 
216
                .parent         = &s3c_device_timer[0].dev,
 
217
                .platform_data  = &smdkc100_backlight_data,
 
218
        },
 
219
};
 
220
 
182
221
static struct platform_device *smdkc100_devices[] __initdata = {
183
222
        &s3c_device_adc,
184
223
        &s3c_device_cfcon,
200
239
        &s5p_device_fimc1,
201
240
        &s5p_device_fimc2,
202
241
        &s5pc100_device_spdif,
 
242
        &s3c_device_timer[0],
 
243
        &smdkc100_backlight_device,
203
244
};
204
245
 
205
246
static struct s3c2410_ts_mach_info s3c_ts_platform __initdata = {
233
274
        s5pc100_spdif_setup_gpio(S5PC100_SPDIF_GPD);
234
275
 
235
276
        /* LCD init */
236
 
        gpio_request(S5PC100_GPD(0), "GPD");
237
277
        gpio_request(S5PC100_GPH0(6), "GPH0");
238
278
        smdkc100_lcd_power_set(&smdkc100_lcd_power_data, 0);
239
279
        platform_add_devices(smdkc100_devices, ARRAY_SIZE(smdkc100_devices));