1. 19 12月, 2012 1 次提交
  2. 07 12月, 2012 1 次提交
  3. 28 11月, 2012 4 次提交
  4. 22 11月, 2012 1 次提交
  5. 20 11月, 2012 1 次提交
  6. 08 11月, 2012 1 次提交
  7. 29 10月, 2012 1 次提交
  8. 23 10月, 2012 1 次提交
    • E
      ARM: SAMSUNG: Insert bitmap_gpio_int member in samsung_gpio_chip · 453e2dd7
      Eunki Kim 提交于
      When a device uses GPIO interrupt, its driver assumes that GPIO
      should be INPUT mode. However, GPIO of SAMSUNG SoC is sepated to
      INPUT mode and INTERRUPT mode. They are set by 0x0 and 0xF in GPIO
      control register. If the register is set to INPUT mode, the
      interrupt never occur. Therefore, it's necessary to set INTERRUPT
      mode instead of INPUT mode when the pin is used for GPIO interrupt.
      
      This patch inserts the bitmap_gpio_int member in struct samsung_
      gpio_chip in order to represent use of GPIO interrupt for each pin
      and sets the related bit when s5p_register_gpio_interrupt function
      is called.
      Signed-off-by: NEunki Kim <eunki_kim@samsung.com>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Linus Walleij <linus.walleij@linaro.org>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      453e2dd7
  9. 19 10月, 2012 1 次提交
  10. 23 10月, 2012 2 次提交
  11. 17 10月, 2012 1 次提交
  12. 14 10月, 2012 1 次提交
    • R
      ARM: config: sort select statements alphanumerically · b1b3f49c
      Russell King 提交于
      As suggested by Andrew Morton:
      
        This is a pet peeve of mine.  Any time there's a long list of items
        (header file inclusions, kconfig entries, array initalisers, etc) and
        someone wants to add a new item, they *always* go and stick it at the
        end of the list.
      
        Guys, don't do this.  Either put the new item into a randomly-chosen
        position or, probably better, alphanumerically sort the list.
      
      lets sort all our select statements alphanumerically.  This commit was
      created by the following perl:
      
      while (<>) {
      	while (/\\\s*$/) {
      		$_ .= <>;
      	}
      	undef %selects if /^\s*config\s+/;
      	if (/^\s+select\s+(\w+).*/) {
      		if (defined($selects{$1})) {
      			if ($selects{$1} eq $_) {
      				print STDERR "Warning: removing duplicated $1 entry\n";
      			} else {
      				print STDERR "Error: $1 differently selected\n".
      					"\tOld: $selects{$1}\n".
      					"\tNew: $_\n";
      				exit 1;
      			}
      		}
      		$selects{$1} = $_;
      		next;
      	}
      	if (%selects and (/^\s*$/ or /^\s+help/ or /^\s+---help---/ or
      			  /^endif/ or /^endchoice/)) {
      		foreach $k (sort (keys %selects)) {
      			print "$selects{$k}";
      		}
      		undef %selects;
      	}
      	print;
      }
      if (%selects) {
      	foreach $k (sort (keys %selects)) {
      		print "$selects{$k}";
      	}
      }
      
      It found two duplicates:
      
      Warning: removing duplicated S5P_SETUP_MIPIPHY entry
      Warning: removing duplicated HARDIRQS_SW_RESEND entry
      
      and they are identical duplicates, hence the shrinkage in the diffstat
      of two lines.
      
      We have four testers reporting success of this change (Tony, Stephen,
      Linus and Sekhar.)
      Acked-by: NJason Cooper <jason@lakedaemon.net>
      Acked-by: NTony Lindgren <tony@atomide.com>
      Acked-by: NStephen Warren <swarren@nvidia.com>
      Acked-by: NLinus Walleij <linus.walleij@linaro.org>
      Acked-by: NSekhar Nori <nsekhar@ti.com>
      Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
      b1b3f49c
  13. 06 10月, 2012 1 次提交
  14. 25 9月, 2012 1 次提交
  15. 21 9月, 2012 3 次提交
  16. 19 9月, 2012 2 次提交
    • A
      ARM: samsung: move platform_data definitions · 436d42c6
      Arnd Bergmann 提交于
      Platform data for device drivers should be defined in
      include/linux/platform_data/*.h, not in the architecture
      and platform specific directories.
      
      This moves such data out of the samsung include directories
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NMark Brown <broonie@opensource.wolfsonmicro.com>
      Acked-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: NNicolas Pitre <nico@linaro.org>
      Acked-by: NMauro Carvalho Chehab <mchehab@redhat.com>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Kyungmin Park <kyungmin.park@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Jeff Garzik <jgarzik@pobox.com>
      Cc: Guenter Roeck <linux@roeck-us.net>
      Cc: "Wolfram Sang (embedded platforms)" <w.sang@pengutronix.de>
      Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>
      Cc: Bryan Wu <bryan.wu@canonical.com>
      Cc: Richard Purdie <rpurdie@rpsys.net>
      Cc: Sylwester Nawrocki <s.nawrocki@samsung.com>
      Cc: Chris Ball <cjb@laptop.org>
      Cc: David Woodhouse <dwmw2@infradead.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Cc: Felipe Balbi <balbi@ti.com>
      Cc: Alan Stern <stern@rowland.harvard.edu>
      Cc: Sangbeom Kim <sbkim73@samsung.com>
      Cc: Liam Girdwood <lrg@ti.com>
      Cc: linux-samsung-soc@vger.kernel.org
      436d42c6
    • A
      ARM: samsung: use __iomem pointers for MMIO · 5fa1a2e1
      Arnd Bergmann 提交于
      ARM is moving to stricter checks on readl/write functions,
      so we need to use the correct types everywhere.
      
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      5fa1a2e1
  17. 18 9月, 2012 1 次提交
    • T
      ARM: SAMSUNG: Use spin_lock_{irqsave,irqrestore} in clk_set_rate · d6838a62
      Tushar Behera 提交于
      The spinlock clocks_lock can be held during ISR, hence it is not safe to
      hold that lock with disabling interrupts.
      
      It fixes following potential deadlock.
      
      =========================================================
      [ INFO: possible irq lock inversion dependency detected ]
      3.6.0-rc4+ #2 Not tainted
      ---------------------------------------------------------
      swapper/0/1 just changed the state of lock:
       (&(&host->lock)->rlock){-.....}, at: [<c027fb0d>] sdhci_irq+0x15/0x564
      but this lock took another, HARDIRQ-unsafe lock in the past:
       (clocks_lock){+.+...}
      
      and interrupts could create inverse lock ordering between them.
      
      other info that might help us debug this:
       Possible interrupt unsafe locking scenario:
      
             CPU0                    CPU1
             ----                    ----
        lock(clocks_lock);
                                     local_irq_disable();
                                     lock(&(&host->lock)->rlock);
                                     lock(clocks_lock);
        <Interrupt>
          lock(&(&host->lock)->rlock);
      
       *** DEADLOCK ***
      Signed-off-by: NTushar Behera <tushar.behera@linaro.org>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      d6838a62
  18. 17 9月, 2012 1 次提交
    • M
      ARM: SAMSUNG: use spin_lock_irqsave() in clk_set_parent · dbc5e1e8
      Mandeep Singh Baines 提交于
      From 0cdf3aff, "ARM: SAMSUNG: use spin_lock_irqsave() in
      clk_{enable,disable}":
      
        The clk_enable()and clk_disable() can be used process and ISR either.
        And actually it is used for real product and other platforms use it
        now. So spin_lock_irqsave() should be used instead.
      
      We need to make a similar change in clk_set_parent(). Otherwise,
      you can potentially get spinlock recursion:
      
      BUG: spinlock recursion on CPU#0, kinteractive/68
       lock: 807832a8, .magic: dead4ead, .owner: kinteractive/68, .owner_cpu: 0
      [<80015f54>] (unwind_backtrace+0x0/0x128) from [<804f2914>] (dump_stack+0x20/0x24)
      [<804f2914>] (dump_stack+0x20/0x24) from [<804f57b8>] (spin_dump+0x80/0x94)
      [<804f57b8>] (spin_dump+0x80/0x94) from [<804f57f8>] (spin_bug+0x2c/0x30)
      [<804f57f8>] (spin_bug+0x2c/0x30) from [<80222730>] (do_raw_spin_lock+0x54/0x150)
      [<80222730>] (do_raw_spin_lock+0x54/0x150) from [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28)
      [<804f96ec>] (_raw_spin_lock_irqsave+0x20/0x28) from [<80022ea4>] (clk_enable+0x3c/0x84)
      [<80022ea4>] (clk_enable+0x3c/0x84) from [<8038336c>] (s5p_mfc_clock_on+0x60/0x74)
      [<8038336c>] (s5p_mfc_clock_on+0x60/0x74) from [<8038645c>] (s5p_mfc_read_info+0x20/0x38)
      [<8038645c>] (s5p_mfc_read_info+0x20/0x38) from [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc)
      [<8037ca3c>] (s5p_mfc_handle_frame+0x2e4/0x4bc) from [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc)
      [<8037d420>] (s5p_mfc_irq+0x1ec/0x6cc) from [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244)
      [<8007fc74>] (handle_irq_event_percpu+0x8c/0x244) from [<8007fe78>] (handle_irq_event+0x4c/0x6c)
      [<8007fe78>] (handle_irq_event+0x4c/0x6c) from [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150)
      [<80082dd8>] (handle_fasteoi_irq+0xe4/0x150) from [<8007f424>] (generic_handle_irq+0x3c/0x50)
      [<8007f424>] (generic_handle_irq+0x3c/0x50) from [<8000f7c4>] (handle_IRQ+0x88/0xc8)
      [<8000f7c4>] (handle_IRQ+0x88/0xc8) from [<80008564>] (gic_handle_irq+0x44/0x68)
      [<80008564>] (gic_handle_irq+0x44/0x68) from [<8000e400>] (__irq_svc+0x40/0x60)
      Exception stack(0xef3cbe68 to 0xef3cbeb0)
      [<8000e400>] (__irq_svc+0x40/0x60) from [<80022cfc>] (clk_set_parent+0x30/0x74)
      [<80022cfc>] (clk_set_parent+0x30/0x74) from [<803ac7f8>] (set_apll.isra.0+0x28/0xb0)
      [<803ac7f8>] (set_apll.isra.0+0x28/0xb0) from [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8)
      [<803ac8e4>] (exynos5250_set_frequency+0x64/0xb8) from [<803ac280>] (exynos_target+0x1b0/0x220)
      [<803ac280>] (exynos_target+0x1b0/0x220) from [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4)
      [<803a4a0c>] (__cpufreq_driver_target+0xb0/0xd4) from [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264)
      [<803aab80>] (cpufreq_interactive_updown_task+0x214/0x264) from [<80047d04>] (kthread+0x9c/0xa8)
      [<80047d04>] (kthread+0x9c/0xa8) from [<8000fa48>] (kernel_thread_exit+0x0/0x8)
      Signed-off-by: NMandeep Singh Baines <msb@chromium.org>
      Suggested-by: NSunil Mazhavanchery <sunilm@samsung.com>
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: linux-samsung-soc@vger.kernel.org
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Minho Ban <mhban@samsung.com>
      Cc: Jaecheol Lee <jc.lee@samsung.com>
      Cc: Sunyoung Kang <sy0816.kang@samsung.com>
      Cc: Olof Johansson <olofj@chromium.org>
      Signed-off-by: NKukjin Kim <kgene.kim@samsung.com>
      dbc5e1e8
  19. 29 8月, 2012 1 次提交
  20. 23 8月, 2012 1 次提交
  21. 09 8月, 2012 1 次提交
    • A
      ARM: s3c24xx: use new PWM driver · 35e79061
      Arnd Bergmann 提交于
      The samsung PWM driver has moved to the new PWM subsystem, which
      changed the Kconfig symbol for that driver, but the rx1950 and
      gta02 boards still uses the old one.
      
      Without this patch, building s3c2410_defconfig results in:
      
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_lcd_power':
      arch/arm/mach-s3c24xx/mach-rx1950.c:430: undefined reference to `pwm_config'
      arch/arm/mach-s3c24xx/mach-rx1950.c:431: undefined reference to `pwm_disable'
      arch/arm/mach-s3c24xx/mach-rx1950.c:437: undefined reference to `pwm_config'
      arch/arm/mach-s3c24xx/mach-rx1950.c:438: undefined reference to `pwm_enable'
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_exit':
      arch/arm/mach-s3c24xx/mach-rx1950.c:504: undefined reference to `pwm_free'
      arch/arm/mach-s3c24xx/built-in.o: In function `rx1950_backlight_init':
      arch/arm/mach-s3c24xx/mach-rx1950.c:487: undefined reference to `pwm_request'
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Reported-by: NTushar Behera <tushar.behera@linaro.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      35e79061
  22. 08 8月, 2012 4 次提交
  23. 01 8月, 2012 1 次提交
  24. 13 7月, 2012 7 次提交