1. 17 10月, 2012 1 次提交
    • A
      ARM: s3c: mark s3c2440_clk_add as __init_refok · 5276b687
      Arnd Bergmann 提交于
      s3c2440_clk_add is a subsys_interface method and calls clkdev_add_table,
      which is marked as __init. The modpost script complains about this
      because we must not call an __init function from a function in the .text
      section, and we cannot reference an __init function from a subsys_interface
      pointer.
      
      I have verified that the only code path into s3c2440_clk_add() is
      from "int __init s3c2440_init(void)", so s3c2440_clk_add can be marked
      __init_refok instead.
      
      Without this patch, building mini2440_defconfig results in:
      
      WARNING: vmlinux.o(.text+0x9848): Section mismatch in reference from the function s3c2440_clk_add() to the function .init.text:clkdev_add_table()
      The function s3c2440_clk_add() references
      the function __init clkdev_add_table().
      This is often because s3c2440_clk_add lacks a __init
      annotation or the annotation of clkdev_add_table is wrong.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Acked-by: NKukjin Kim <kgene.kim@samsung.com>
      Cc: Russell King <linux@arm.linux.org.uk>
      Cc: Mike Turquette <mturquette@linaro.org>
      Cc: Ben Dooks <ben-linux@fluff.org>
      5276b687
  2. 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
  3. 07 10月, 2012 1 次提交
    • A
      ARM: s3c24xx: fix multiple section mismatch warnings · 673550a1
      Arnd Bergmann 提交于
      The *_irq_add function should not be marked __init because the driver
      subsystem thinks they might be called at a later stage.
      
      The usb_simtec_init function accesses initdata and should be marked
      init. This is safe because the only caller is also an init function.
      
      Without this patch, building s3c2410_defconfig results in:
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.data+0x1030): Section mismatch in reference from the variable s3c2416_irq_interface to the function .init.text:s3c2416_irq_add()
      The variable s3c2416_irq_interface references
      the function __init s3c2416_irq_add()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.data+0x1b08): Section mismatch in reference from the variable s3c2443_irq_interface to the function .init.text:s3c2443_irq_add()
      The variable s3c2443_irq_interface references
      the function __init s3c2443_irq_add()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.data+0xf44): Section mismatch in reference from the variable s3c2416_irq_interface to the function .init.text:s3c2416_irq_add()
      The variable s3c2416_irq_interface references
      the function __init s3c2416_irq_add()
      If the reference is valid then annotate the
      variable with __init* or __refdata (see linux/init.h) or name the variable:
      *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console
      
      WARNING: arch/arm/mach-s3c24xx/built-in.o(.text+0x3f7c): Section mismatch in reference from the function usb_simtec_init() to the (unknown reference) .init.data:(unknown)
      The function usb_simtec_init() references
      the (unknown reference) __initdata (unknown).
      This is often because usb_simtec_init lacks a __initdata
      annotation or the annotation of (unknown) is wrong.
      Signed-off-by: NArnd Bergmann <arnd@arndb.de>
      Cc: Ben Dooks <ben-linux@fluff.org>
      Cc: Kukjin Kim <kgene.kim@samsung.com>
      673550a1
  4. 21 9月, 2012 3 次提交
  5. 19 9月, 2012 1 次提交
    • 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
  6. 07 9月, 2012 2 次提交
  7. 29 8月, 2012 1 次提交
  8. 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
  9. 08 8月, 2012 2 次提交
  10. 13 7月, 2012 11 次提交
  11. 20 6月, 2012 2 次提交
  12. 20 5月, 2012 1 次提交
  13. 13 5月, 2012 2 次提交
  14. 12 5月, 2012 11 次提交