aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2013-03-01dm thin: support a non power of 2 discard_granularityMike Snitzer1-8/+1
Support a non-power-of-2 discard granularity in dm-thin, now that the block layer supports this(via 8dd2cb7e880d2f77fba53b523c99133ad5054cfd "block: discard granularity might not be power of 2" and 59771079c18c44e39106f0f30054025acafadb41 "blk: avoid divide-by-zero with zero discard granularity"). Signed-off-by: Mike Snitzer <[email protected]> Signed-off-by: Alasdair G Kergon <[email protected]>
2013-03-01dm: fix truncated status stringsMikulas Patocka13-115/+99
Avoid returning a truncated table or status string instead of setting the DM_BUFFER_FULL_FLAG when the last target of a table fills the buffer. When processing a table or status request, the function retrieve_status calls ti->type->status. If ti->type->status returns non-zero, retrieve_status assumes that the buffer overflowed and sets DM_BUFFER_FULL_FLAG. However, targets don't return non-zero values from their status method on overflow. Most targets returns always zero. If a buffer overflow happens in a target that is not the last in the table, it gets noticed during the next iteration of the loop in retrieve_status; but if a buffer overflow happens in the last target, it goes unnoticed and erroneously truncated data is returned. In the current code, the targets behave in the following way: * dm-crypt returns -ENOMEM if there is not enough space to store the key, but it returns 0 on all other overflows. * dm-thin returns errors from the status method if a disk error happened. This is incorrect because retrieve_status doesn't check the error code, it assumes that all non-zero values mean buffer overflow. * all the other targets always return 0. This patch changes the ti->type->status function to return void (because most targets don't use the return code). Overflow is detected in retrieve_status: if the status method fills up the remaining space completely, it is assumed that buffer overflow happened. Cc: [email protected] Signed-off-by: Mikulas Patocka <[email protected]> Signed-off-by: Alasdair G Kergon <[email protected]>
2013-03-01dm: do not replace bioset for request based dmJun'ichi Nomura1-9/+21
This patch fixes a regression introduced in v3.8, which causes oops like this when dm-multipath is used: general protection fault: 0000 [#1] SMP RIP: 0010:[<ffffffff810fe754>] [<ffffffff810fe754>] mempool_free+0x24/0xb0 Call Trace: <IRQ> [<ffffffff81187417>] bio_put+0x97/0xc0 [<ffffffffa02247a5>] end_clone_bio+0x35/0x90 [dm_mod] [<ffffffff81185efd>] bio_endio+0x1d/0x30 [<ffffffff811f03a3>] req_bio_endio.isra.51+0xa3/0xe0 [<ffffffff811f2f68>] blk_update_request+0x118/0x520 [<ffffffff811f3397>] blk_update_bidi_request+0x27/0xa0 [<ffffffff811f343c>] blk_end_bidi_request+0x2c/0x80 [<ffffffff811f34d0>] blk_end_request+0x10/0x20 [<ffffffffa000b32b>] scsi_io_completion+0xfb/0x6c0 [scsi_mod] [<ffffffffa000107d>] scsi_finish_command+0xbd/0x120 [scsi_mod] [<ffffffffa000b12f>] scsi_softirq_done+0x13f/0x160 [scsi_mod] [<ffffffff811f9fd0>] blk_done_softirq+0x80/0xa0 [<ffffffff81044551>] __do_softirq+0xf1/0x250 [<ffffffff8142ee8c>] call_softirq+0x1c/0x30 [<ffffffff8100420d>] do_softirq+0x8d/0xc0 [<ffffffff81044885>] irq_exit+0xd5/0xe0 [<ffffffff8142f3e3>] do_IRQ+0x63/0xe0 [<ffffffff814257af>] common_interrupt+0x6f/0x6f <EOI> [<ffffffffa021737c>] srp_queuecommand+0x8c/0xcb0 [ib_srp] [<ffffffffa0002f18>] scsi_dispatch_cmd+0x148/0x310 [scsi_mod] [<ffffffffa000a38e>] scsi_request_fn+0x31e/0x520 [scsi_mod] [<ffffffff811f1e57>] __blk_run_queue+0x37/0x50 [<ffffffff811f1f69>] blk_delay_work+0x29/0x40 [<ffffffff81059003>] process_one_work+0x1c3/0x5c0 [<ffffffff8105b22e>] worker_thread+0x15e/0x440 [<ffffffff8106164b>] kthread+0xdb/0xe0 [<ffffffff8142db9c>] ret_from_fork+0x7c/0xb0 The regression was introduced by the change c0820cf5 "dm: introduce per_bio_data", where dm started to replace bioset during table replacement. For bio-based dm, it is good because clone bios do not exist during the table replacement. For request-based dm, however, (not-yet-mapped) clone bios may stay in request queue and survive during the table replacement. So freeing the old bioset could cause the oops in bio_put(). Since the size of front_pad may change only with bio-based dm, it is not necessary to replace bioset for request-based dm. Reported-by: Bart Van Assche <[email protected]> Tested-by: Bart Van Assche <[email protected]> Signed-off-by: Jun'ichi Nomura <[email protected]> Acked-by: Mikulas Patocka <[email protected]> Acked-by: Mike Snitzer <[email protected]> Cc: <[email protected]> Signed-off-by: Alasdair G Kergon <[email protected]>
2013-03-01hsi: fix kernel-doc warningsRandy Dunlap2-4/+4
Fix kernel-doc warnings in hsi files: Warning(include/linux/hsi/hsi.h:136): Excess struct/union/enum/typedef member 'e_handler' description in 'hsi_client' Warning(include/linux/hsi/hsi.h:136): Excess struct/union/enum/typedef member 'pclaimed' description in 'hsi_client' Warning(include/linux/hsi/hsi.h:136): Excess struct/union/enum/typedef member 'nb' description in 'hsi_client' Warning(drivers/hsi/hsi.c:434): No description found for parameter 'handler' Warning(drivers/hsi/hsi.c:434): Excess function parameter 'cb' description in 'hsi_register_port_event' Don't document "private:" fields with kernel-doc notation. If you want to leave them fully documented, that's OK, but then don't mark them as "private:". Signed-off-by: Randy Dunlap <[email protected]> Cc: Carlos Chinea <[email protected]> Cc: Linus Walleij <[email protected]> Cc: Greg Kroah-Hartman <[email protected]> Cc: [email protected] Cc: [email protected] Acked-by: Nishanth Menon <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-03-01ARM: Fix broken commit 0cc41e4a21d43 corrupting kernel messagesRussell King1-15/+21
Commit 0cc41e4a21d43 (arch: remove direct definitions of KERN_<LEVEL> uses) is broken - not enough thought was put into changing: .asciz "string" to .asciz "string1" "string2" The problem is that each string gets _separately_ NUL terminated, so the result is a string containing: "string1\0string2\0" rather than: "string1string2\0" With our new printk levels, this ends up as - eg, KERN_DEBUG "string": 0x01 0x00 0x07 0x00 "string" 0x00 which produces lots of \x01 in the kernel log. Signed-off-by: Russell King <[email protected]>
2013-03-01Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6Linus Torvalds4-5/+19
Pull CIFS fixes from Steve French: "Four cifs fixes (including for kernel bug #53221 and samba bug #9519)" * 'for-next' of git://git.samba.org/sfrench/cifs-2.6: cifs: bugfix for unreclaimed writeback pages in cifs_writev_requeue() cifs: set MAY_SIGN when sec=krb5 POSIX extensions disabled on client due to illegal O_EXCL flag sent to Samba cifs: ensure that cifs_get_root() only traverses directories
2013-03-01autofs4 - autofs4_catatonic_mode(): remove redundant null check on kfree()Tim Gardner1-4/+2
smatch analysis: fs/autofs4/waitq.c:46 autofs4_catatonic_mode() info: redundant null check on wq->name.name calling kfree() Signed-off-by: Tim Gardner <[email protected]> Signed-off-by: Ian Kent <[email protected]> Cc: [email protected] Signed-off-by: Linus Torvalds <[email protected]>
2013-03-01autofs - Fix sparse warning: context imbalance in autofs4_d_automount() ↵Peter Huewe1-1/+3
different lock contexts for basic block Sparse complains: fs/autofs4/root.c:409:9: sparse: context imbalance in 'autofs4_d_automount' - different lock contexts for basic block This was introduced by commit f55fb0c24386 ("autofs4 - dont clear DCACHE_NEED_AUTOMOUNT on rootless mount") The function autofs4_d_automount can be left with the (&sbi->fs_lock) held if sbi->version <= 4 and simple_empty(dentry) == false so the warning seems valid. --> Add an spin_unlock in this case before we jump to done Unfortunately compile tested only. Reported-by: Fengguang Wu <[email protected]> Signed-off-by: Peter Huewe <[email protected]> Acked-by: Ian Kent <[email protected]> Signed-off-by: Linus Torvalds <[email protected]>
2013-03-01btrfs: fixup/remove module.h usage as requiredPaul Gortmaker4-4/+1
We want to avoid module.h where posible, since it in turn includes nearly all of header space. This means removing it where it is not required, and using export.h where we are only exporting symbols via EXPORT_SYMBOL and friends. Signed-off-by: Paul Gortmaker <[email protected]> Signed-off-by: Chris Mason <[email protected]>
2013-03-01Btrfs: delete inline extents when we find them during loggingJosef Bacik1-0/+18
Apparently when we do inline extents we allow the data to overlap the last chunk of the btrfs_file_extent_item, which means that we can possibly have a btrfs_file_extent_item that isn't actually as large as a btrfs_file_extent_item. This messes with us when we try to overwrite the extent when logging new extents since we expect for it to be the right size. To fix this just delete the item and try to do the insert again which will give us the proper sized btrfs_file_extent_item. This fixes a panic where map_private_extent_buffer would blow up because we're trying to write past the end of the leaf. Thanks, Cc: [email protected] Signed-off-by: Josef Bacik <[email protected]>
2013-03-01xenbus: fix compile failure on ARM with Xen enabledSteven Noonan1-0/+1
Adding an include of linux/mm.h resolves this: drivers/xen/xenbus/xenbus_client.c: In function ‘xenbus_map_ring_valloc_hvm’: drivers/xen/xenbus/xenbus_client.c:532:66: error: implicit declaration of function ‘page_to_section’ [-Werror=implicit-function-declaration] CC: [email protected] Signed-off-by: Steven Noonan <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2013-03-01xen/pci: We don't do multiple MSI's.Konrad Rzeszutek Wilk1-0/+9
There is no hypercall to setup multiple MSI per PCI device. As such with these two new commits: - 08261d87f7d1b6253ab3223756625a5c74532293 PCI/MSI: Enable multiple MSIs with pci_enable_msi_block_auto() - 5ca72c4f7c412c2002363218901eba5516c476b1 AHCI: Support multiple MSIs we would call the PHYSDEVOP_map_pirq 'nvec' times with the same contents of the PCI device. Sander discovered that we would get the same PIRQ value 'nvec' times and return said values to the caller. That of course meant that the device was configured only with one MSI and AHCI would fail with: ahci 0000:00:11.0: version 3.0 xen: registering gsi 19 triggering 0 polarity 1 xen: --> pirq=19 -> irq=19 (gsi=19) (XEN) [2013-02-27 19:43:07] IOAPIC[0]: Set PCI routing entry (6-19 -> 0x99 -> IRQ 19 Mode:1 Active:1) ahci 0000:00:11.0: AHCI 0001.0200 32 slots 4 ports 6 Gbps 0xf impl SATA mode ahci 0000:00:11.0: flags: 64bit ncq sntf ilck pm led clo pmp pio slum part ahci: probe of 0000:00:11.0 failed with error -22 That is b/c in ahci_host_activate the second call to devm_request_threaded_irq would return -EINVAL as we passed in (on the second run) an IRQ that was never initialized. CC: [email protected] Reported-and-Tested-by: Sander Eikelenboom <[email protected]> Signed-off-by: Konrad Rzeszutek Wilk <[email protected]>
2013-03-01btrfs: try harder to allocate raid56 stripe cacheDavid Sterba2-7/+26
The stripe hash table is large, starting with allocation order 4 and can go as high as order 7 in case lock debugging is turned on and structure padding happens. Observed mount failure: mount: page allocation failure: order:7, mode:0x200050 Pid: 8234, comm: mount Tainted: G W 3.8.0-default+ #267 Call Trace: [<ffffffff81114353>] warn_alloc_failed+0xf3/0x140 [<ffffffff811171d2>] ? __alloc_pages_direct_compact+0x92/0x250 [<ffffffff81117ac3>] __alloc_pages_nodemask+0x733/0x9d0 [<ffffffff81152878>] ? cache_alloc_refill+0x3f8/0x840 [<ffffffff811528bc>] cache_alloc_refill+0x43c/0x840 [<ffffffff811302eb>] ? is_kernel_percpu_address+0x4b/0x90 [<ffffffffa00a00ac>] ? btrfs_alloc_stripe_hash_table+0x5c/0x130 [btrfs] [<ffffffff811531d7>] kmem_cache_alloc_trace+0x247/0x270 [<ffffffffa00a00ac>] btrfs_alloc_stripe_hash_table+0x5c/0x130 [btrfs] [<ffffffffa003133f>] open_ctree+0xb2f/0x1f90 [btrfs] [<ffffffff81397289>] ? string+0x49/0xe0 [<ffffffff813987b3>] ? vsnprintf+0x443/0x5d0 [<ffffffffa0007cb6>] btrfs_mount+0x526/0x600 [btrfs] [<ffffffff8115127c>] ? cache_alloc_debugcheck_after+0x4c/0x200 [<ffffffff81162b90>] mount_fs+0x20/0xe0 [<ffffffff8117db26>] vfs_kern_mount+0x76/0x120 [<ffffffff811801b6>] do_mount+0x386/0x980 [<ffffffff8112a5cb>] ? strndup_user+0x5b/0x80 [<ffffffff81180840>] sys_mount+0x90/0xe0 [<ffffffff81962e99>] system_call_fastpath+0x16/0x1b Signed-off-by: David Sterba <[email protected]> Signed-off-by: Josef Bacik <[email protected]>
2013-03-01Btrfs: cleanup to make the function btrfs_delalloc_reserve_metadata more logicWang Shilong1-44/+38
The original code is a little confusing and not clear, The right way to deal with the kernel code like this: [...] if (ret) goto out; [...] So i move the common clean_up code to the place labeled with out_fail, this will be easier to maintain. Signed-off-by: Wang Shilong <[email protected]> Signed-off-by: Josef Bacik <[email protected]>
2013-03-01Btrfs: don't call btrfs_qgroup_free if just btrfs_qgroup_reserve failsWang Shilong1-5/+6
commit eb6b88d92c6df083dd09a8c471011e3788dfd7c6 leads into another bug. If it is just because qgroup_reserve fails, the function btrfs_qgroup_free should not be called, otherwise, it will cause the wrong quota accounting. Signed-off-by: Wang Shilong <[email protected]> Signed-off-by: Josef Bacik <[email protected]>
2013-03-01Btrfs: remove reduplicate check about root in the function ↵Wang Shilong1-3/+0
btrfs_clean_quota_tree The check work has been done just before the function btrfs_clean_quota_tree is called, it is not necessary to check it again, remove it. Signed-off-by: Wang Shilong <[email protected]> Signed-off-by: Josef Bacik <[email protected]>
2013-03-01Btrfs: return ENOMEM rather than use BUG_ON when btrfs_alloc_path failsWang Shilong1-3/+9
Return ENOMEM rather trigger BUG_ON, fix it. Signed-off-by: Wang Shilong <[email protected]> Reviewed-by: Miao Xie <[email protected]> Reviewed-by: Zach Brown <[email protected]> Signed-off-by: Josef Bacik <[email protected]>
2013-03-01Btrfs: fix missing deleted items in btrfs_clean_quota_treeWang Shilong1-13/+21
Steps to reproduce: i=0 ncases=100 mkfs.btrfs <disk> mount <disk> <mnt> btrfs quota enable <mnt> btrfs qgroup create 2/1 <mnt> while [ $i -le $ncases ] do btrfs qgroup create 1/$i <mnt> btrfs qgroup assign 1/$i 2/1 <mnt> i=$(($i+1)) done btrfs quota disable <mnt> umount <mnt> btrfsck <mnt> You can also use the commands: btrfs-debug-tree <disk> | grep QGROUP You will find there are still items existed.The reasons why this happens is because the original code just checks slots[0]==0 and returns. We try to fix it by deleting the leaf one by one. Signed-off-by: Wang Shilong <[email protected]> Signed-off-by: Miao Xie <[email protected]> Signed-off-by: Josef Bacik <[email protected]>
2013-03-01watchdog: sp805_wdt depends on ARMAlessandro Rubini1-1/+1
The SP805 driver is only used by the Spear machines, and uses writel_relaxed, which is not available on all architectures. The dependency from CONFIG_ARM avoids compilation problems under randomconfig when CONFIG_ARM_AMBA is enabled for x86 builds. Signed-off-by: Alessandro Rubini <[email protected]> Acked-by: Giancarlo Asnaghi <[email protected]> Signed-off-by: Davide Ciminaghi <[email protected]> Acked-by: Linus Walleij <[email protected]> Acked-by: Viresh Kumar <[email protected]> Signed-off-by: H. Peter Anvin <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: davinci_wdt: update to devm_* APIKumar, Anil1-21/+5
Update the code to use devm_* API so that driver core will manage resources. Signed-off-by: Kumar, Anil <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: davinci_wdt: use devm managed clk getMrugesh Katepallewar1-2/+1
Get the clock using devm_clk_get(). Signed-off-by: Mrugesh Katepallewar <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: at91rm9200: add DT supportJoachim Eastwood3-1/+19
Add DT support for at91rm9200_wdt. Signed-off-by: Joachim Eastwood <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: add timeout-sec property bindingFabio Porcedda8-15/+31
this patchset add the timeout-sec property to the following drivers: orion_wdt, pnx4008_wdt, s3c2410_wdt and at91sam9_wdt. The at91sam9_wdt is tested on evk-pr3, the other drivers are compile tested only. Signed-off-by: Fabio Porcedda <[email protected]> Cc: Andrew Lunn <[email protected]> Cc: Jason Cooper <[email protected]> Cc: Wolfram Sang <[email protected]> Cc: Masanari Iida <[email protected]> Cc: Ben Dooks <[email protected]> Cc: Kukjin Kim <[email protected]> Cc: Andrew Victor <[email protected]> Cc: Jean-Christophe PLAGNIOL-VILLARD <[email protected]> Cc: Nicolas Ferre <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: at91sam9_wdt: Convert to use the watchdog frameworkWenyou Yang2-119/+43
According to Documentation/watchdog/convert_drivers_to_kernel_api.txt, remove the file_operations struct, miscdevice, and obsolete includes Since the at91sam watchdog inherent characteristics, add the watchdog operations: at91wdt_start, at91wdt_stop and at91wdt_ping. Signed-off-by: Wenyou Yang <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Cc: [email protected] Cc: [email protected]
2013-03-01watchdog: omap_wdt: Add option nowayoutPali Rohár1-1/+5
Like other watchdog drivers, this patch adds new option nowayout which overwrite WATCHDOG_NOWAYOUT. Signed-off-by: Pali Rohar <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: core: dt: add support for the timeout-sec dt propertyFabio Porcedda4-12/+80
Add support for watchdog drivers to initialize/set the timeout field of the watchdog_device structure. The timeout field is initialised either with the module timeout parameter value (if valid) or with the timeout-sec dt property (if valid). If both are invalid the initial value is unchanged. Signed-off-by: Fabio Porcedda <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: bcm47xx_wdt.c: add hard timerHauke Mehrtens1-6/+63
The more recent devices have a watchdog timer which could be configured for over 2 hours and not just 2 seconds like the first generation devices. For those devices do not use the extra software timer, but directly program the time into the register. This will automatically be used if the timer supports more than a minute. Signed-off-by: Hauke Mehrtens <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: bcm47xx_wdt.c: rename wdt_time to timeoutHauke Mehrtens1-4/+4
Rename wdt_time to timeout to name it like the other watchdog driver do it. Signed-off-by: Hauke Mehrtens <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: bcm47xx_wdt.c: rename ops methodsHauke Mehrtens1-18/+18
Rename the methods registered to struct watchdog_ops bcm47xx_wdt_ops in order to add an other struct watchdog_ops using different ops in the next patch. Also rename WDT_MAX_TIME to WDT_SOFTTIMER_MAX. Signed-off-by: Hauke Mehrtens <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: bcm47xx_wdt.c: use platform deviceHauke Mehrtens2-78/+87
Instead of accessing the function to set the watchdog timer directly, register a platform driver the platform could register to use this watchdog driver. Signed-off-by: Hauke Mehrtens <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: bcm47xx_wdt.c: convert to watchdog core apiHauke Mehrtens2-130/+23
Convert the bcm47xx_wdt.c driver to the new watchdog core api. The nowayout parameter is now added unconditionally to the module. Signed-off-by: Hauke Mehrtens <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: Convert BookE watchdog driver to watchdog infrastructureGuenter Roeck2-120/+66
Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: s3c2410_wdt: Use devm_* functionsJingoo Han1-33/+9
Use devm_* functions to make cleanup paths more simple. Signed-off-by: Jingoo Han <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: remove old STMP3xxx driverWolfram Sang3-298/+0
Now that the new driver is in place, we can remove the old one. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: add new driver for STMP3xxx and i.MX23/28Wolfram Sang3-0/+122
Replace the existing STMP3xxx driver because it has enough drawbacks that a rewrite is apropriate. The new driver is designed to use the watchdog framework which makes it a lot smaller and avoids open coding the watchdog API again. It also uses now an explicitly exported function from the RTC driver to set up its registers (the old driver silently reused the hopefully(!) already remapped RTC registers). Also, this driver is mach independent, while the old one depends on a mach replaced by another one a year ago. Since the user interface is still the standard watchdog API, users don't need to adapt. Signed-off-by: Wolfram Sang <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01rtc: stmp3xxx: add wdt-accessor functionWolfram Sang2-0/+79
This RTC also includes a watchdog timer. Provide an accessor function for setting the watchdog timeout value which will be picked up by a watchdog driver. Also register the platform_device for the watchdog here to get the boot-time dependencies right. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Andrew Morton <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: introduce retu_wdt driverAaro Koskinen3-0/+191
Introduce Retu watchdog driver. Cc: [email protected] Acked-by: Felipe Balbi <[email protected]> Acked-by: Tony Lindgren <[email protected]> Signed-off-by: Aaro Koskinen <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: intel_scu_watchdog: fix Kconfig dependencyWim Van Sebroeck1-1/+1
Kernel symbol X86_MRST has been removed from the kernel. INTEL_SCU_WATCHDOG driver can never be compiled due dependence of X86_MRST which remained in the drivers/watchdog/Kconfig. Reported-by: Alexander Shiyan <[email protected]> Cc: Alan Cox <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: orion_wdt: Add platform aliasLubomir Rintel1-0/+1
...so that it's automatically picked up on relevant platforms. Tested on Kirkwood-based GuruPlug. Signed-off-by: Lubomir Rintel <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: ath79_wdt: add device tree matchingGabor Juhos2-0/+24
Cc: Grant Likely <[email protected]> Cc: [email protected] Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: ath79_wdt: get register base from platform device's resourcesGabor Juhos2-11/+47
The ath79_wdt driver uses a fixed memory address currently. Although this is working with each currently supported SoCs, but this may change in the future. Additionally, the driver includes platform specific header files in order to be able to get the memory base of the watchdog device. The patch adds a memory resource to the platform device, and converts the driver to get the base address of the watchdog device from that. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01MIPS: ath79: use dynamically allocated watchdog deviceGabor Juhos1-6/+1
Remove the static watchdog device variable and use the 'platform_device_register_simple' helper to allocate and register the device in one step. This allows us to save a few bytes in the kernel image. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: ath79_wdt: convert to use devm_clk_getGabor Juhos1-5/+2
Use the managed version of clk_get. This allows to simplify the probe/remove functions a bit. Signed-off-by: Gabor Juhos <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: sp5100_tco: Write back the original value to reserved bits, ↵Takahisa Tanaka1-20/+8
instead of zero In case of SP5100 or SB7x0 chipsets, the sp5100_tco module writes zero to reserved bits. The module, however, shouldn't depend on specific default value, and should perform a read-merge-write operation for the reserved bits. This patch makes the sp5100_tco module perform a read-merge-write operation on all the chipset (sp5100, sb7x0, sb8x0 or later). Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43176 Signed-off-by: Takahisa Tanaka <[email protected]> Tested-by: Paul Menzel <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Cc: stable <[email protected]>
2013-03-01watchdog: sp5100_tco: Fix wrong indirect I/O access for getting value of ↵Takahisa Tanaka1-2/+3
reserved bits In case of SB800 or later chipset and re-programming MMIO address(*), sp5100_tco module may read incorrect value of reserved bit, because the module reads a value from an incorrect I/O address. However, this bug doesn't cause a problem, because when re-programming MMIO address, by chance the module writes zero (this is BIOS's default value) to the low three bits of register. * In most cases, PC with SB8x0 or later chipset doesn't need to re-programming MMIO address, because such PC can enable AcpiMmio and can use 0xfed80b00 for watchdog register base address. This patch fixes this bug. Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=43176 Signed-off-by: Takahisa Tanaka <[email protected]> Tested-by: Paul Menzel <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Cc: stable <[email protected]>
2013-03-01watchdog: gef_wdt.c: add missing remove callbackDevendra Naga1-0/+1
this module missed a remove callback in the platform ops. Signed-off-by: Devendra Naga <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
2013-03-01watchdog: at91sam9: at91_wdt_dt_ids cannot be __initArnd Bergmann1-1/+1
The device IDs are referenced by the driver and potentially used beyond the init time, as kbuild correctly warns about. Remove the __initconst annotation. Without this patch, building at91_dt_defconfig results in: WARNING: drivers/watchdog/built-in.o(.data+0x28): Section mismatch in reference from the variable at91wdt_driver to the (unknown reference) .init.rodata:(unknown) The variable at91wdt_driver references the (unknown reference) __initconst (unknown) Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Nicolas Ferre <[email protected]> Tested-by: Fabio Porcedda <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Cc: [email protected]
2013-03-01watchdog: da9055_wdt needs to select WATCHDOG_CORERandy Dunlap1-0/+1
DA9055_WATCHDOG (introduced in v3.8) needs to select WATCHDOG_CORE so that it will build cleanly. Fixes these build errors: da9055_wdt.c:(.text+0xe9bc7): undefined reference to `watchdog_unregister_device' da9055_wdt.c:(.text+0xe9f4b): undefined reference to `watchdog_register_device' Signed-off-by: Randy Dunlap <[email protected]> Cc: David Dajun Chen <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]> Cc: [email protected] Cc: stable <[email protected]>
2013-03-01[SCSI] Merge tag 'fcoe-02-19-13' into for-linusJames Bottomley19-298/+822
FCoE Updates for 3.9 Signed-off-by: James Bottomley <[email protected]>
2013-03-01Merge tag 'uapi-20121219' into for-linusJames Bottomley5-3/+3
UAPI Disintegration 2012-12-19 This is the remaining SCSI part of the UAPI Signed-off-by: James Bottomley <[email protected]>