1. 02 Dec, 2009 14 commits
    • Helge Deller's avatar
      modules: don't export section names of empty sections via sysfs · 35dead42
      Helge Deller authored
      On the parisc architecture we face for each and every loaded kernel module
      this kernel "badness warning":
        sysfs: cannot create duplicate filename '/module/ac97_bus/sections/.text'
        Badness at fs/sysfs/dir.c:487
      
      Reason for that is, that on parisc all kernel modules do have multiple
      .text sections due to the usage of the -ffunction-sections compiler flag
      which is needed to reach all jump targets on this platform.
      
      An objdump on such a kernel module gives:
      Sections:
      Idx Name          Size      VMA       LMA       File off  Algn
        0 .note.gnu.build-id 00000024  00000000  00000000  00000034  2**2
                        CONTENTS, ALLOC, LOAD, READONLY, DATA
        1 .text         00000000  00000000  00000000  00000058  2**0
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
        2 .text.ac97_bus_match 0000001c  00000000  00000000  00000058  2**2
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
        3 .text         00000000  00000000  00000000  000000d4  2**0
                        CONTENTS, ALLOC, LOAD, READONLY, CODE
      ...
      Since the .text sections are empty (size of 0 bytes) and won't be
      loaded by the kernel module loader anyway, I don't see a reason
      why such sections need to be listed under
      /sys/module/<module_name>/sections/<section_name> either.
      
      The attached patch does solve this issue by not exporting section
      names which are empty.
      
      This fixes bugzilla http://bugzilla.kernel.org/show_bug.cgi?id=14703Signed-off-by: default avatarHelge Deller <deller@gmx.de>
      CC: rusty@rustcorp.com.au
      CC: akpm@linux-foundation.org
      CC: James.Bottomley@HansenPartnership.com
      CC: roland@redhat.com
      CC: dave@hiauly1.hia.nrc.ca
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      35dead42
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6 · ebd65a58
      Linus Torvalds authored
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/lrg/voltage-2.6:
        regulator: Initialise wm831x structure pointor for ISINK driver
      ebd65a58
    • Mark Brown's avatar
      regulator: Initialise wm831x structure pointor for ISINK driver · e8092da9
      Mark Brown authored
      The version that made it into mainline missed the initialisation of the
      chip handle.
      Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
      Signed-off-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
      e8092da9
    • Linus Torvalds's avatar
      Merge branch 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6 · 6f9a7619
      Linus Torvalds authored
      * 'fix' of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6:
        [ARM] pxamci: call mmc_remove_host() before freeing resources
      6f9a7619
    • Daniel Mack's avatar
      [ARM] pxamci: call mmc_remove_host() before freeing resources · 5d6b1edf
      Daniel Mack authored
      mmc_remove_host() will cause the mmc core to switch off the bus power by
      eventually calling pxamci_set_ios(). This function uses the regulator or
      the GPIO which have been freed already.
      
      This causes the following Oops on module unload.
      
      [   49.519649] Unable to handle kernel paging request at virtual address 30303a70
      [   49.526878] pgd = c7084000
      [   49.529563] [30303a70] *pgd=00000000
      [   49.533136] Internal error: Oops: 5 [#1]
      [   49.537025] last sysfs file: /sys/devices/platform/pxa27x-ohci/usb1/1-1/1-1:1.0/host0/target0:0:0/0:0:0:0/scsi_level
      [   49.547471] Modules linked in: pxamci(-) eeti_ts
      [   49.552061] CPU: 0    Not tainted  (2.6.32-rc8 #322)
      [   49.557001] PC is at regulator_is_enabled+0x3c/0xbc
      [   49.561846] LR is at regulator_is_enabled+0x30/0xbc
      [   49.566691] pc : [<c01a2448>]    lr : [<c01a243c>]    psr: 60000013
      [   49.566702] sp : c7083e70  ip : 30303a30  fp : 00000000
      [   49.578093] r10: c705e200  r9 : c7082000  r8 : c705e2e0
      [   49.583280] r7 : c7061340  r6 : c7061340  r5 : c7083e70  r4 : 00000000
      [   49.589759] r3 : c04dc434  r2 : c04dc434  r1 : c03eecea  r0 : 00000047
      [   49.596241] Flags: nZCv  IRQs on  FIQs on  Mode SVC_32  ISA ARM  Segment user
      [   49.603329] Control: 0000397f  Table: a7084018  DAC: 00000015
      [   49.609031] Process rmmod (pid: 1101, stack limit = 0xc7082278)
      [   49.614908] Stack: (0xc7083e70 to 0xc7084000)
      [   49.619238] 3e60:                                     c7082000 c703c4f8 c705ea00 c04f4074
      [   49.627366] 3e80: 00000000 c705e3a0 ffffffff c0247ddc c70361a0 00000000 c705e3a0 ffffffff
      [   49.635499] 3ea0: c705e200 bf006400 c78c4f00 c705e200 c705e3a0 ffffffff c705e200 ffffffff
      [   49.643633] 3ec0: c04d8ac8 c02476d0 ffffffff c0247c60 c705e200 c0248678 c705e200 c0249064
      [   49.651765] 3ee0: ffffffff bf006204 c04d8ad0 c04d8ad0 c04d8ac8 bf007490 00000880 c00440c4
      [   49.659898] 3f00: 0000b748 c01c5708 bf007490 c01c44c8 c04d8ac8 c04d8afc bf007490 c01c4570
      [   49.668031] 3f20: bf007490 bf00750c c04f4258 c01c37a4 00000000 bf00750c c7083f44 c007b014
      [   49.676162] 3f40: 4000d000 6d617870 08006963 00000001 00000000 c7085000 00000001 00000000
      [   49.684287] 3f60: 4000d000 c7083f8c 00000001 bea01a54 00005401 c7ab1400 c00440c4 00082000
      [   49.692420] 3f80: bf00750c 00000880 c7083f8c 00000000 4000cfa8 00000000 00000880 bea01cc8
      [   49.700552] 3fa0: 00000081 c0043f40 00000000 00000880 bea01cc8 00000880 00000006 00000000
      [   49.708677] 3fc0: 00000000 00000880 bea01cc8 00000081 00000097 0000cca4 0000b748 00000000
      [   49.716802] 3fe0: 4001a4f0 bea01cc0 00018bf4 4001a4fc 20000010 bea01cc8 a063e021 a063e421
      [   49.724958] [<c01a2448>] (regulator_is_enabled+0x3c/0xbc) from [<c0247ddc>] (mmc_regulator_set_ocr+0x14/0xd8)
      [   49.734836] [<c0247ddc>] (mmc_regulator_set_ocr+0x14/0xd8) from [<bf006400>] (pxamci_set_ios+0xd8/0x17c [pxamci])
      [   49.745044] [<bf006400>] (pxamci_set_ios+0xd8/0x17c [pxamci]) from [<c02476d0>] (mmc_power_off+0x50/0x58)
      [   49.754555] [<c02476d0>] (mmc_power_off+0x50/0x58) from [<c0247c60>] (mmc_detach_bus+0x68/0xc4)
      [   49.763207] [<c0247c60>] (mmc_detach_bus+0x68/0xc4) from [<c0248678>] (mmc_stop_host+0xd4/0x1bc)
      [   49.771944] [<c0248678>] (mmc_stop_host+0xd4/0x1bc) from [<c0249064>] (mmc_remove_host+0xc/0x20)
      [   49.780681] [<c0249064>] (mmc_remove_host+0xc/0x20) from [<bf006204>] (pxamci_remove+0xc8/0x174 [pxamci])
      [   49.790211] [<bf006204>] (pxamci_remove+0xc8/0x174 [pxamci]) from [<c01c5708>] (platform_drv_remove+0x1c/0x24)
      [   49.800164] [<c01c5708>] (platform_drv_remove+0x1c/0x24) from [<c01c44c8>] (__device_release_driver+0x7c/0xc4)
      [   49.810110] [<c01c44c8>] (__device_release_driver+0x7c/0xc4) from [<c01c4570>] (driver_detach+0x60/0x8c)
      [   49.819535] [<c01c4570>] (driver_detach+0x60/0x8c) from [<c01c37a4>] (bus_remove_driver+0x90/0xcc)
      [   49.828452] [<c01c37a4>] (bus_remove_driver+0x90/0xcc) from [<c007b014>] (sys_delete_module+0x1d8/0x254)
      [   49.837891] [<c007b014>] (sys_delete_module+0x1d8/0x254) from [<c0043f40>] (ret_fast_syscall+0x0/0x28)
      [   49.847145] Code: eb06c53a e596c030 e1a0500d e59f106c (e59c0040)
      [   49.853566] ---[ end trace b5fa66a00cea142f ]---
      Signed-off-by: default avatarDaniel Mack <daniel@caiaq.de>
      Reported-by: default avatarSven Neumann <s.neumann@raumfeld.com>
      Cc: Pierre Ossman <pierre@ossman.eu>
      Cc: linux-mmc@vger.kernel.org
      Cc: linux-arm-kernel@lists.infradead.org
      Cc: stable@kernel.org
      Signed-off-by: default avatarEric Miao <eric.y.miao@gmail.com>
      5d6b1edf
    • Randy Dunlap's avatar
      sysfs: fix SYSFS_DEPRECATED_V2 prompt · e9438e31
      Randy Dunlap authored
      The SYSFS_DEPRECATED_V2 says "remove" older, deprecated features, but it
      actually enables them, so correct this confusing, backwards text.
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Kay Sievers <kay.sievers@vrfy.org>
      Cc: Greg KH <greg@kroah.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e9438e31
    • Johannes Weiner's avatar
      rtc-x1205: reset clock to sane state after power failure · cb8799ee
      Johannes Weiner authored
      When detecting power failure, the probe function would reset the clock
      time to defined state.
      
      However, the clock's _date_ might still be bogus and a subsequent probe
      fails when sanity-checking these values.
      
      Change the power-failure fixup code to do a full setting of rtc_time,
      including a valid date.
      Signed-off-by: default avatarJohannes Weiner <jw@emlix.com>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Paul Gortmaker <p_gortmaker@yahoo.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      cb8799ee
    • Johannes Weiner's avatar
      rtc-x1205: fix rtc_time to y2k register value conversion · 48a7f774
      Johannes Weiner authored
      The possible CCR_Y2K register values are 19 or 20 and struct rtc_time's
      tm_year is in years since 1900.
      
      The function translating rtc_time to register values assumes tm_year to be
      years since first christmas, though, and we end up storing 0 or 1 in the
      CCR_Y2K register, which the hardware does not refuse to do.
      
      A subsequent probing of the clock fails due to the invalid value range in
      the register, though.
      
      [ And if it didn't, reading the clock would yield a bogus year because
        the function translating registers to tm_year is assuming a register
        value of 19 or 20. ]
      
      This fixes the conversion from years since 1900 in tm_year to the
      corresponding CCR_Y2K value of 19 or 20.
      Signed-off-by: default avatarJohannes Weiner <jw@emlix.com>
      Cc: Alessandro Zummo <a.zummo@towertech.it>
      Cc: Paul Gortmaker <p_gortmaker@yahoo.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      48a7f774
    • Peter Horton's avatar
      aoe: prevent cache aliases · 0a1f127a
      Peter Horton authored
      Prevent the AoE block driver from creating cache aliases of page cache
      pages on machines with virtually indexed caches.
      
      Building kernels on an AT91SAM9G20 board without this patch fails with
      segmentation faults after a couple of passes.
      Signed-off-by: default avatarPeter Horton <zero@colonel-panic.org>
      Cc: "Ed L. Cashin" <ecashin@coraid.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a1f127a
    • Alek Du's avatar
      gpio: Langwell GPIO driver bugfixes · ca029701
      Alek Du authored
      - Remove wrong and unnecessary unmask operation
      
      - Remove extra GEDR reading
      
      This fixes the loss of interrupts which occurs when two or more pins are
      triggered in close succession.
      Signed-off-by: default avatarAlek Du <alek.du@intel.com>
      Cc: David Brownell <david-b@pacbell.net>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ca029701
    • Sam Ravnborg's avatar
      kbuild: stepping down as maintainer · 97434843
      Sam Ravnborg authored
      It has been fun but the last year or more it has been a duty and a burden.
      So I leave it open for others to take over.
      Signed-off-by: default avatarSam Ravnborg <sam@ravnborg.org>
      Cc: Anibal Monsalve Salazar <anibal@debian.org>
      Cc: Steven Rostedt <rostedt@goodmis.org>
      Cc: Michal Marek <mmarek@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      97434843
    • Sudhakar Rajashekhara's avatar
      davinci: fb: fix frame buffer driver issues · 3510b8f7
      Sudhakar Rajashekhara authored
      Following issues have been addressed on DA8XX/OMAP-L1XX:
      
      a. Screen misalignment during booting when frame buffer console is
         enabled.
      
      b. Driver was configured always in PSEUDOCOLOR mode.  This patch
         dynamically configures the driver either in PSEUDOCOLOUR or TRUECOLOR
         mode depending on bpp.
      
      c. The RED and BLUE offsets were interchanged resulting in wrong
         bootup logo colour.
      
      This patch has been tested on DA830/OMAP-L137 and DA850/OMAP-L138 EVMs.
      Signed-off-by: default avatarSudhakar Rajashekhara <sudhakar.raj@ti.com>
      Cc: Steve Chen <schen@mvista.com>
      Cc: Pavel Kiryukhin <pkiryukhin@ru.mvista.com>
      Cc: Krzysztof Helt <krzysztof.h1@wp.pl>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3510b8f7
    • Dan Carpenter's avatar
      drivers/rtc/rtc-pcf50633.c: fix use after free in pcf50633_rtc_probe() · fa00e106
      Dan Carpenter authored
      "rtc" is freed and then dereferenced on the next line.  This patch fixes
      that.
      Signed-off-by: default avatarDan Carpenter <error27@gmail.com>
      Acked-by: default avatarAlessandro Zummo <a.zummo@towertech.it>
      Cc: David Brownell <david-b@pacbell.net>
      Cc: Paul Gortmaker <p_gortmaker@yahoo.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fa00e106
    • Andrew Morton's avatar
      drivers/media/dvb/dvb-core/dvb_frontend.c: needs semaphore.h · 4c4cb1b1
      Andrew Morton authored
      Fixes:
      
        v4l/dvb_frontend.c: In function 'dvb_frontend_stop':
        v4l/dvb_frontend.c:707: error: implicit declaration of function 'init_MUTEX'
      
      Addresses http://bugzilla.kernel.org/show_bug.cgi?id=14609
      
      Reported-by: <tstrelar@gmail.com>
      Cc: Mauro Carvalho Chehab <mchehab@infradead.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4c4cb1b1
  2. 01 Dec, 2009 26 commits