[linux] 01/02: Merge tag 'debian/4.4.4-1'

debian-kernel at lists.debian.org debian-kernel at lists.debian.org
Mon Mar 7 22:22:50 UTC 2016


This is an automated email from the git hooks/post-receive script.

benh pushed a commit to branch master
in repository linux.

commit acdae5bf41433b47cd6a8113709c4f8d4addbad4
Merge: 54a4358 2ca405f
Author: Ben Hutchings <ben at decadent.org.uk>
Date:   Mon Mar 7 22:19:34 2016 +0000

    Merge tag 'debian/4.4.4-1'
    
    Drop changes to the ABI reference and ignore list.
    
    Drop most of the new patches as they're already upstream.
    
    Drop the -rt featureset update.

 debian/changelog                                   | 471 ++++++++++
 debian/config/armhf/config.armmp                   |   1 +
 .../armhf/modules/armhf-armmp/core-modules         |  14 +-
 .../armhf/modules/armhf-armmp/mmc-modules          |   7 -
 .../armhf/modules/armhf-armmp/usb-modules          |  14 -
 debian/installer/modules/mmc-modules               |  12 +-
 debian/installer/modules/usb-modules               |   4 +
 debian/installer/package-list                      |   2 +-
 ...t-drm-radeon-call-hpd_irq_event-on-resume.patch |  22 +
 .../bugfix/all/uas-fix-high-order-alloc.patch      |  29 +
 ...q-wandboard-revb1.dts-use-unique-model-id.patch |  59 ++
 ...rkwood-add-for-buffalo-linkstation-ls-qvl.patch | 187 ++++
 ...-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch | 117 +++
 ...-split-lswvl-dts-to-linkstation-lsvl-and-.patch | 771 ++++++++++++++++
 ...-split-lswxl-dts-to-linkstation-lswsxl-an.patch | 975 +++++++++++++++++++++
 ...orion5x-add-for-buffalo-linkstation-ls-gl.patch | 132 +++
 ...split-linkstation-lswtgl-into-common-and-.patch | 699 +++++++++++++++
 debian/patches/series                              |   9 +
 18 files changed, 3482 insertions(+), 43 deletions(-)

diff --cc debian/changelog
index f285fc2,cb8ebd0..5e2bdda
--- a/debian/changelog
+++ b/debian/changelog
@@@ -1,37 -1,473 +1,507 @@@
 +linux (4.5~rc7-1~exp1) UNRELEASED; urgency=medium
 +
 +  * New upstream release candidate
 +
 + -- Ben Hutchings <ben at decadent.org.uk>  Wed, 02 Mar 2016 14:24:38 +0000
 +
 +linux (4.5~rc5-1~exp1) experimental; urgency=medium
 +
 +  * New upstream release candidate
 +
 +  [ Ben Hutchings ]
 +  * [armel/versatile] Enable GPIOLIB, needed to build smc91x driver with
 +    OF enabled (fixes FTBFS)
 +  * [powerpc] mm: Fix HAVE_ARCH_SOFT_DIRTY dependencies (fixes FTBFS)
 +
 + -- Ben Hutchings <ben at decadent.org.uk>  Sun, 21 Feb 2016 13:17:27 +0000
 +
 +linux (4.5~rc4-1~exp1) experimental; urgency=medium
 +
 +  * New upstream release candidate
 +
 +  [ Roger Shimizu ]
 +  * Enable TTY_PRINTK as module (Closes: #814540).
 +
 +  [ Ben Hutchings ]
 +  * [rt] Disable until it is updated for 4.5 or later
 +  * aufs: Update support patches to aufs4.x-rcN-20160215
 +  * Compile with gcc-5 on all architectures
 +  * [hppa] Update build-dependencies for renaming of binutils-hppa64
 +  * [x86] udeb: Move scsi_transport_fc to scsi-core-modules, since hv_storvsc
 +    now depends on it
 +
 + -- Ben Hutchings <ben at decadent.org.uk>  Thu, 18 Feb 2016 01:57:20 +0000
 +
+ linux (4.4.4-1) unstable; urgency=medium
+ 
+   [ Salvatore Bonaccorso ]
+   * New upstream stable update:
+     https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.3
+     - [x86] mm: Fix types used in pgprot cacheability flags translations
+     - [x86] mm/pat: Avoid truncation when converting cpa->numpages to address
+     - [x86] uaccess/64: Make the __copy_user_nocache() assembly code
+       more readable
+     - [x86] uaccess/64: Handle the caching of 4-byte nocache copies
+       properly in __copy_user_nocache()
+     - [x86] mm: Fix vmalloc_fault() to handle large pages properly
+     - ALSA: hda - Cancel probe work instead of flush at remove
+     - ALSA: pcm: Fix rwsem deadlock for non-atomic PCM stream
+     - ALSA: seq: Fix leak of pool buffer at concurrent writes
+     - ALSA: seq: Fix double port list deletion
+     - [armhf] phy: twl4030-usb: Relase usb phy on unload
+     - [armhf] phy: twl4030-usb: Fix unbalanced pm_runtime_enable on
+       module reload
+     - staging/speakup: Use tty_ldisc_ref() for paste kworker
+     - pty: fix possible use after free of tty->driver_data
+     - pty: make sure super_block is still valid in final /dev/tty close
+     - tty: Add support for PCIe WCH382 2S multi-IO card
+     - [x86] serial: 8250_pci: Add Intel Broadwell ports
+     - [armhf] serial: omap: Prevent DoS using unprivileged ioctl(TIOCSRS485)
+     - ext4: fix scheduling in atomic on group checksum failure
+     - ext4: fix potential integer overflow
+     - ext4: don't read blocks from disk after extents being swapped
+     - btrfs: handle invalid num_stripes in sys_array
+     - Btrfs: fix fitrim discarding device area reserved for boot loader's use
+     - Revert "btrfs: clear PF_NOFREEZE in cleaner_kthread()"
+     - btrfs: properly set the termination value of ctx->pos in readdir
+     - Btrfs: fix invalid page accesses in extent_same (dedup) ioctl
+     - Btrfs: fix page reading in extent_same ioctl leading to csum errors
+     - Btrfs: fix hang on extent buffer lock caused by the inode_paths ioctl
+     - Btrfs: fix direct IO requests not reporting IO error to user space
+     - ptrace: use fsuid, fsgid, effective creds for fs access checks
+     - tracing: Fix freak link error caused by branch tracer
+     - tracepoints: Do not trace when cpu is offline
+     - klist: fix starting point removed bug in klist iterators
+     - scsi: add Synology to 1024 sector blacklist
+     - iscsi-target: Fix potential dead-lock during node acl delete
+     - SCSI: fix crashes in sd and sr runtime PM
+     - drivers/scsi/sg.c: mark VMA as VM_IO to prevent migration
+     - scsi_dh_rdac: always retry MODE SELECT on command lock violation
+     - SCSI: Add Marvell Console to VPD blacklist
+     - scsi: fix soft lockup in scsi_remove_target() on module removal
+     - iio: adis_buffer: Fix out-of-bounds memory access
+     - iio:adc:ti_am335x_adc Fix buffered mode by identifying as software buffer.
+     - iio-light: Use a signed return type for ltr501_match_samp_freq()
+     - iio: add HAS_IOMEM dependency to VF610_ADC
+     - iio: add IIO_TRIGGER dependency to STK8BA50
+     - iio: dac: mcp4725: set iio name property in sysfs
+     - iio: light: acpi-als: Report data as processed
+     - iio: pressure: mpl115: fix temperature offset sign
+     - iio: inkern: fix a NULL dereference on error
+     - cifs: Ratelimit kernel log messages
+     - cifs: fix race between call_async() and reconnect()
+     - cifs_dbg() outputs an uninitialized buffer in cifs_readdir()
+     - cifs: fix erroneous return value
+     - NFS: Fix attribute cache revalidation
+     - pNFS/flexfiles: Fix an Oopsable typo in ff_mirror_match_fh()
+     - nfs: Fix race in __update_open_stateid()
+     - pNFS/flexfiles: Fix an XDR encoding bug in layoutreturn
+     - udf: limit the maximum number of indirect extents in a row
+     - udf: Prevent buffer overrun with multi-byte characters
+     - udf: Check output buffer length when converting name to CS0
+     - SUNRPC: Fixup socket wait for memory
+     - [powerpc] eeh: Fix PE location code
+     - [powerpc] eeh: Fix stale cached primary bus
+     - [powerpc] powernv: Fix stale PE primary bus
+     - [powerpc] ioda: Set "read" permission when "write" is set
+     - [armhf] mvebu: remove duplicated regulator definition in Armada 388 GP
+     - [arm64] mm: avoid calling apply_to_page_range on empty range
+     - [armel,armhf] 8519/1: ICST: try other dividends than 1
+     - [armel,armhf] 8517/1: ICST: avoid arithmetic overflow in icst_hz()
+     - [armhf] dts: Fix wl12xx missing clocks that cause hangs
+     - [armhf] dts: Fix omap5 PMIC control lines for RTC writes
+     - [armhf] dts: omap5-board-common: enable rtc and charging of backup battery
+     - [armhf] OMAP2+: Fix wait_dll_lock_timed for rodata
+     - [armhf] OMAP2+: Fix l2_inv_api_params for rodata
+     - [armhf] OMAP2+: Fix l2dis_3630 for rodata
+     - [armhf] OMAP2+: Fix save_secure_ram_context for rodata
+     - [armhf] OMAP2+: Fix ppa_zero_params and ppa_por_params for rodata
+     - [arm64] dma-mapping: fix handling of devices registered before
+       arch_initcall
+     - [arm,arm64] KVM: Fix reference to uninitialised VGIC
+     - [powerpc*] KVM: PPC: Fix emulation of H_SET_DABR/X on POWER8
+     - [powerpc*] KVM: PPC: Fix ONE_REG AltiVec support
+     - mm: soft-offline: check return value in second __get_any_page() call
+     - libnvdimm: fix namespace object confusion in is_uuid_busy()
+     - mm: fix mlock accouting
+     - mm: replace vma_lock_anon_vma with anon_vma_lock_read/write
+     - mm: fix regression in remap_file_pages() emulation
+     - Input: elantech - mark protocols v2 and v3 as semi-mt
+     - [x86] Input: i8042 - add Fujitsu Lifebook U745 to the nomux list
+     - string_helpers: fix precision loss for some inputs
+     - Input: vmmouse - fix absolute device registration
+     - [x86] iommu/vt-d: Don't skip PCI devices when disabling IOTLB
+     - [x86] iommu/amd: Correct the wrong setting of alias DTE in do_attach
+     - [x86] iommu/vt-d: Fix mm refcounting to hold mm_count not mm_users
+     - [x86] iommu/vt-d: Fix 64-bit accesses to 32-bit DMAR_GSTS_REG
+     - [x86] iommu/vt-d: Clear PPR bit to ensure we get more page
+       request interrupts
+     - Revert "xhci: don't finish a TD if we get a short-transfer event mid TD"
+     - xhci: Fix list corruption in urb dequeue at host removal
+     - fs/hugetlbfs/inode.c: fix bugs in hugetlb_vmtruncate_list()
+     - [s390x] numa: fix /proc/<pid>/numa_maps for hugetlbfs on s390
+     - memcg: only free spare array when readers are done
+     - radix-tree: fix race in gang lookup
+     - drivers/hwspinlock: fix race between radix tree insertion and lookup
+     - radix-tree: fix oops after radix_tree_iter_retry
+     - dump_stack: avoid potential deadlocks
+     - mm,thp: khugepaged: call pte flush at the time of collapse
+     - [x86] intel_scu_ipcutil: underflow in scu_reg_access()
+     - ipc/shm: handle removed segments gracefully in shm_mmap()
+     - devm_memremap_release(): fix memremap'd addr handling
+     - futex: Drop refcount if requeue_pi() acquired the rtmutex
+     - ovl: allow zero size xattr
+     - ovl: use a minimal buffer in ovl_copy_xattr
+     - ovl: check dentry positiveness in ovl_cleanup_whiteouts()
+     - ovl: root: copy attr
+     - ovl: setattr: check permissions before copy-up
+     - libxfs: pack the agfl header structure so XFS_AGFL_SIZE is correct
+     - xfs: inode recovery readahead can race with inode buffer creation
+     - Revert "xfs: clear PF_NOFREEZE for xfsaild kthread"
+     - xfs: log mount failures don't wait for buffers to be released
+     - prctl: take mmap sem for writing to protect against others
+     - timerfd: Handle relative timers with CONFIG_TIME_LOW_RES proper
+     - posix-timers: Handle relative timers with CONFIG_TIME_LOW_RES proper
+     - itimers: Handle relative timers with CONFIG_TIME_LOW_RES proper
+     - modules: fix modparam async_probe request
+     https://www.kernel.org/pub/linux/kernel/v4.x/ChangeLog-4.4.4
+     - af_iucv: Validate socket address length in iucv_sock_bind()
+     - gro: Make GRO aware of lightweight tunnels.
+     - tunnels: Allow IPv6 UDP checksums to be correctly controlled.
+     - lwt: fix rx checksum setting for lwt devices tunneling over ipv6
+     - tcp: fix NULL deref in tcp_v4_send_ack()
+     - af_unix: fix struct pid memory leak
+     - pptp: fix illegal memory access caused by multiple bind()s
+     - sctp: allow setting SCTP_SACK_IMMEDIATELY by the application
+     - tipc: fix connection abort during subscription cancel
+     - inet: frag: Always orphan skbs inside ip_defrag()
+     - tcp: beware of alignments in tcp_get_info()
+     - ipv6: enforce flowi6_oif usage in ip6_dst_lookup_tail()
+     - ipv6/udp: use sticky pktinfo egress ifindex on connect()
+     - ipv6: addrconf: Fix recursive spin lock call
+     - ipv6: fix a lockdep splat
+     - unix: correctly track in-flight fds in sending process user_struct
+       (regression in 4.3.3-6; CVE-2016-2550)
+     - tcp: do not drop syn_recv on all icmp reports
+     - net:Add sysctl_max_skb_frags
+     - tg3: Fix for tg3 transmit queue 0 timed out when too many gso_segs
+     - enic: increment devcmd2 result ring in case of timeout
+     - sctp: translate network order to host order when users get a hmacid
+     - net: Copy inner L3 and L4 headers as unaligned on GRE TEB
+     - flow_dissector: Fix unaligned access in __skb_flow_dissector when used by
+       eth_get_headlen
+     - bpf: fix branch offset adjustment on backjumps after patching
+       ctx expansion
+     - bonding: Fix ARP monitor validation
+     - ipv4: fix memory leaks in ip_cmsg_send() callers
+     - af_unix: Don't set err in unix_stream_read_generic unless there was
+       an error
+     - af_unix: Guard against other == sk in unix_dgram_sendmsg
+     - tipc: fix premature addition of node to lookup table
+     - tcp: md5: release request socket instead of listener
+     - qmi_wwan: add "4G LTE usb-modem U901"
+     - net/mlx4_en: Count HW buffer overrun only once
+     - net/mlx4_en: Choose time-stamping shift value according to HW frequency
+     - net/mlx4_en: Avoid changing dev->features directly in run-time
+     - l2tp: Fix error creating L2TP tunnels
+     - pppoe: fix reference counting in PPPoE proxy
+     - net_sched fix: reclassification needs to consider ether protocol changes
+     - route: check and remove route cache when we get route
+     - tcp/dccp: fix another race at listener dismantle
+     - IFF_NO_QUEUE: Fix for drivers not calling ether_setup()
+     - rtnl: RTM_GETNETCONF: fix wrong return value
+     - tipc: unlock in error path
+     - unix_diag: fix incorrect sign extension in unix_lookup_by_ino
+     - sctp: Fix port hash table size computation
+     - ext4: fix bh->b_state corruption
+     - [s390x] KVM: fix guest fprs memory leak
+     - devm_memremap: Fix error value when memremap failed
+     - efi: Make efivarfs entries immutable by default
+     - efi: Add pstore variables to the deletion whitelist
+     - bcache: fix a livelock when we cause a huge number of cache misses
+     - bcache: Add a cond_resched() call to gc
+     - bcache: clear BCACHE_DEV_UNLINK_DONE flag when attaching a backing device
+     - bcache: fix a leak in bch_cached_dev_run()
+     - bcache: unregister reboot notifier if bcache fails to unregister device
+     - bcache: allows use of register in udev to avoid "device_busy" error.
+     - bcache: prevent crash on changing writeback_running
+     - bcache: Change refill_dirty() to always scan entire disk if necessary
+     - dm thin: fix race condition when destroying thin pool workqueue
+     - can: ems_usb: Fix possible tx overflow
+     - usb: dwc3: Fix assignment of EP transfer resources
+     - USB: cp210x: add IDs for GE B650V3 and B850V3 boards
+     - USB: option: add support for SIM7100E
+     - USB: option: add "4G LTE usb-modem U901"
+     - [armhf] spi: omap2-mcspi: Prevent duplicate gpio_request
+     - iw_cxgb3: Fix incorrectly returning error on success
+     - [x86] drm/i915: shut up gen8+ SDE irq dmesg noise
+     - ocfs2: unlock inode if deleting inode from orphan fails
+     - mm: thp: fix SMP race condition between THP page fault and MADV_DONTNEED
+     - mm: numa: quickly fail allocations for NUMA balancing on full nodes
+     - genirq: Validate action before dereferencing it in
+       handle_irq_event_percpu()
+     - [s390x] KVM: fix memory overwrites when vx is disabled
+     - Btrfs: add missing brelse when superblock checksum fails
+     - Btrfs: igrab inode in writepage
+     - btrfs: statfs: report zero available if metadata are exhausted
+     - Btrfs: send, don't BUG_ON() when an empty symlink is found
+     - Btrfs: fix number of transaction units required to create symlink
+     - Btrfs: fix transaction handle leak on failure to create hard link
+     - Btrfs: Initialize btrfs_root->highest_objectid when loading tree root and
+       subvolume roots
+     - btrfs: initialize the seq counter in struct btrfs_device
+     - [s390x] fix normalization bug in exception table sorting
+     - [s390x] dasd: prevent incorrect length error under z/VM after PAV changes
+     - [s390x] dasd: fix refcount for PAV reassignment
+     - [s390x] dasd: fix performance drop
+     - [s390x] compat: correct restore of high gprs on signal return
+     - [s390x] fpu: signals vs. floating point control register
+     - locks: fix unlock when fcntl_setlk races with a close
+     - rtlwifi: rtl8192cu: Add missing parameter setup
+     - rtlwifi: rtl8192ce: Fix handling of module parameters
+     - rtlwifi: rtl8192de: Fix incorrect module parameter descriptions
+     - rtlwifi: rtl8723ae: Fix initialization of module parameters
+     - rtlwifi: rtl8192se: Fix module parameter initialization
+     - rtlwifi: rtl8188ee: Fix module parameter initialization
+     - rtlwifi: rtl8723be: Fix module parameter initialization
+     - [x86] mei: fix fasync return value on error
+     - [x86] mei: validate request value in client notify request ioctl
+     - namei: ->d_inode of a pinned dentry is stable only for positives
+     - [armhf] rc: sunxi-cir: Initialize the spinlock properly
+     - gspca: ov534/topro: prevent a division by 0
+     - vb2: fix a regression in poll() behavior for output,streams
+     - tda1004x: only update the frontend properties if locked
+     - dm snapshot: fix hung bios when copy error occurs
+     - dm: fix dm_rq_target_io leak on faults with .request_fn DM w/ blk-mq paths
+     - posix-clock: Fix return code on the poll method's error path
+     - mmc: sdhci-pci: Do not default to 33 Ohm driver strength for Intel SPT
+     - mmc: sdhci: Fix DMA descriptor with zero data length
+     - mmc: sdio: Fix invalid vdd in voltage switch power cycle
+     - mmc: mmc: Fix incorrect use of driver strength switching HS200 and HS400
+     - mmc: sdhci: Fix sdhci_runtime_pm_bus_on/off()
+     - mmc: core: Enable tuning according to the actual timing
+     - [armhf, arm64] mmc: mmci: fix an ages old detection error
+     - [x86] mmc: sdhci-acpi: Fix card detect race for Intel BXT/APL
+     - [x86] mmc: sdhci-pci: Fix card detect race for Intel BXT/APL
+     - mmc: sdhci: Allow override of mmc host operations
+     - mmc: sdhci: Allow override of get_cd() called from sdhci_request()
+     - [x86] Drivers: hv: vmbus: Fix a Host signaling bug
+     - Bluetooth: Use continuous scanning when creating LE connections
+     - Bluetooth: Add support of Toshiba Broadcom based devices
+     - Bluetooth: Fix incorrect removing of IRKs
+     - Bluetooth: 6lowpan: Fix kernel NULL pointer dereferences
+     - Bluetooth: 6lowpan: Fix handling of uncompressed IPv6 packets
+     - time: Avoid signed overflow in timekeeping_get_ns()
+     - cputime: Prevent 32bit overflow in time[val|spec]_to_cputime()
+     - [mips*] Revert "MIPS: Fix PAGE_MASK definition"
+     - [mips*el/loongson-3] Loongson-3: Fix SMP_ASK_C0COUNT IPI handler
+     - [mips*] hpet: Choose a safe value for the ETIME check
+     - [mips*] Fix buffer overflow in syscall_get_arguments()
+     - EDAC: Robustify workqueues destruction
+     - EDAC, mc_sysfs: Fix freeing bus' name
+     - [sparc64] fix incorrect sign extension in sys_sparc64_personality
+     - [armhf] clk: exynos: use irqsave version of spin_lock to avoid deadlock
+       with irqs
+     - [armhf] regulator: axp20x: Fix GPIO LDO enable value for AXP22x
+     - virtio_balloon: fix race by fill and leak
+     - virtio_balloon: fix race between migration and ballooning
+     - virtio_pci: fix use after free on release
+     - [x86] drm/vmwgfx: Fix an incorrect lock check
+     - [x86] drm/vmwgfx: Fix a width / pitch mismatch on framebuffer updates
+     - [x86] drm/vmwgfx: respect 'nomodeset'
+     - [x86] drm/amdgpu: Fix off-by-one errors in amdgpu_vm_bo_map
+     - [x86] drm/amdgpu: call hpd_irq_event on resume
+     - [x86] drm/amdgpu: fix lost sync_to if scheduler is enabled.
+     - [x86] drm/amdgpu: fix tonga smu resume
+     - [x86] drm/amdgpu: fix amdgpu_bo_pin_restricted VRAM placing v2
+     - [x86] drm/amdgpu: no need to load MC firmware on fiji
+     - [x86] drm/amdgpu: move gmc7 support out of CIK dependency
+     - [x86] drm/amdgpu: iceland use CI based MC IP
+     - [x86] drm/amdgpu: The VI specific EXE bit should only apply to GMC
+       v8.0 above
+     - [x86] drm/amdgpu: pull topaz gmc bits into gmc_v7
+     - [x86] drm/amdgpu: drop topaz support from gmc8 module
+     - [x86] drm/amdgpu: don't load MEC2 on topaz
+     - [x86] drm/amdgpu: remove exp hardware support from iceland
+     - [x86] drm/amdgpu: fix s4 resume
+     - [x86] drm/amdgpu: remove unnecessary forward declaration
+     - [x86] drm/amdgpu: hold reference to fences in amdgpu_sa_bo_new (v2)
+     - [x86] drm/amdgpu: fix issue with overlapping userptrs
+     - [x86] drm/amdgpu: use post-decrement in error handling
+     - [x86] drm/amdgpu: Don't hang in amdgpu_flip_work_func on disabled crtc.
+     - [x86] drm/amdgpu/pm: adjust display configuration after powerstate
+     - drm/nouveau/kms: take mode_config mutex in connector hotplug path
+     - drm/nouveau/display: Enable vblank irqs after display engine is on again.
+       (regression in 4.4)
+     - drm/nouveau/disp/dp: ensure sink is powered up before attempting
+       link training
+     - drm/nouveau: platform: Fix deferred probe
+     - drm/radeon: Fix off-by-one errors in radeon_vm_bo_set_addr
+     - drm/radeon: Fix "slow" audio over DP on DCE8+
+     - drm/radeon: clean up fujitsu quirks
+     - drm/radeon: properly byte swap vce firmware setup
+     - drm/radeon: cleaned up VCO output settings for DP audio
+     - drm/radeon: Add a common function for DFS handling
+     - drm/radeon: fix DP audio support for APU with DCE4.1 display engine
+     - drm/radeon: mask out WC from BO on unsupported arches
+     - drm/radeon: hold reference to fences in radeon_sa_bo_new
+     - drm: fix missing reference counting decrease
+     - [x86] drm/i915: Restore inhibiting the load of the default context
+     - [x86] drm/i915: intel_hpd_init(): Fix suspend/resume reprobing
+     - [x86] drm/i915: Init power domains early in driver load
+     - [x86] drm/i915: Make sure DC writes are coherent on flush.
+     - [x86] drm/i915/dp: fall back to 18 bpp when sink capability is unknown
+     - [x86] drm/i915: Don't reject primary plane windowing with color keying
+       enabled on SKL+
+     - [x86] drm/i915/skl: Don't skip mst encoders in skl_ddi_pll_select()
+     - [x86] drm/i915/dsi: defend gpio table against out of bounds access
+     - [x86] drm/i915/dsi: don't pass arbitrary data to sideband
+     - [x86] drm/i915: fix error path in intel_setup_gmbus()
+     - drm/qxl: use kmalloc_array to alloc reloc_info in
+       qxl_process_single_command
+     - drm/radeon: use post-decrement in error handling
+     - drm: No-Op redundant calls to drm_vblank_off() (v2)
+     - drm: Prevent vblank counter bumps > 1 with active vblank clients. (v2)
+       (regression in 4.4)
+     - drm: Fix drm_vblank_pre/post_modeset regression from Linux 4.4
+     - drm: Fix treatment of drm_vblank_offdelay in drm_vblank_on() (v2)
+     - drm/radeon: Don't hang in radeon_flip_work_func on disabled crtc. (v2)
+     - drm/radeon/pm: adjust display configuration after powerstate
+     - make sure that freeing shmem fast symlinks is RCU-delayed
+     - [x86] toshiba_acpi: Fix blank screen at boot if transflective backlight is
+       supported
+     - [x86] ideapad-laptop: Add Lenovo ideapad Y700-17ISK to no_hw_rfkill
+       dmi list
+     - [x86] ideapad-laptop: Add Lenovo Yoga 700 to no_hw_rfkill dmi list
+     - [x86] ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba
+       Portege R700
+     - [x86] ACPI / video: Add disable_backlight_sysfs_if quirk for the Toshiba
+       Satellite R830
+     - [x86] ACPI: Revert "ACPI / video: Add Dell Inspiron 5737 to the blacklist"
+     - [x86] ACPI / PCI / hotplug: unlock in error path in acpiphp_enable_slot()
+     - nfit: fix multi-interface dimm handling, acpi6.1 compatibility
+     - dmaengine: dw: fix cyclic transfer setup
+     - dmaengine: dw: fix cyclic transfer callbacks
+     - dmaengine: dw: disable BLOCK IRQs for non-cyclic xfer
+     - IB/cm: Fix a recently introduced deadlock
+     - IB/qib: fix mcast detach when qp not attached
+     - IB/qib: Support creating qps with GFP_NOIO flag
+     - IB/mlx5: Expose correct maximum number of CQE capacity
+     - Thermal: initialize thermal zone device correctly
+     - Thermal: handle thermal zone device properly during system sleep
+     - Thermal: do thermal zone update after a cooling device registered
+     - hwmon: (dell-smm) Blacklist Dell Studio XPS 8000
+     - hwmon: (gpio-fan) Remove un-necessary speed_index lookup for thermal hook
+     - hwmon: (ads1015) Handle negative conversion values correctly
+     - cpufreq: pxa2xx: fix pxa_cpufreq_change_voltage prototype
+     - cpufreq: Fix NULL reference crash while accessing policy->governor_data
+     - seccomp: always propagate NO_NEW_PRIVS on tsync
+     - libceph: fix ceph_msg_revoke()
+     - libceph: don't bail early from try_read() when skipping a message
+     - libceph: use the right footer size when skipping a message
+     - libceph: don't spam dmesg with stray reply warnings
+     - sd: Optimal I/O size is in bytes, not sectors
+     - Staging: speakup: Fix getting port information
+     - cdc-acm:exclude Samsung phone 04e8:685d
+     - tick/nohz: Set the correct expiry when switching to nohz/lowres mode
+     - rfkill: fix rfkill_fop_read wait_event usage
+     - mac80211: Requeue work after scan complete for all VIF types.
+     - workqueue: handle NUMA_NO_NODE for unbound pool_workqueue lookup
+     - Revert "workqueue: make sure delayed work run in local cpu"
+     - ALSA: hda - Apply clock gate workaround to Skylake, too
+     - ALSA: hda - Fixing background noise on Dell Inspiron 3162
+     - target: Fix LUN_RESET active I/O handling for ACK_KREF
+     - target: Fix LUN_RESET active TMR descriptor handling
+     - target: Fix TAS handling for multi-session se_node_acls
+     - target: Fix remote-port TMR ABORT + se_cmd fabric stop
+     - target: Fix race with SCF_SEND_DELAYED_TAS handling
+     - qla2xxx: Fix stale pointer access.
+     - libata: fix sff host state machine locking while polling
+     - PCI/AER: Flush workqueue on device remove to avoid use-after-free
+     - cpuset: make mm migration asynchronous
+     - cgroup: make sure a parent css isn't offlined before its children
+     - writeback: keep superblock pinned during cgroup writeback
+       association switches
+     - phy: core: fix wrong err handle for phy_power_on
+     - [x86] i2c: i801: Adding Intel Lewisburg support for iTCO
+     - bio: return EINTR if copying to user space got interrupted
+     - block: fix use-after-free in dio_bio_complete
+     - nfs: fix nfs_size_to_loff_t
+     - NFSv4: Fix a dentry leak on alias use
+     - KVM: async_pf: do not warn on page allocation failures
+     - [armhf,arm64] KVM: vgic: Ensure bitmaps are long enough
+     - [x86] KVM: fix missed hardware breakpoints
+     - [x86] KVM: fix conversion of addresses to linear in 32-bit protected mode
+     - [x86] KVM: MMU: fix ubsan index-out-of-range warning
+     - [powerpc] eeh: Fix partial hotplug criterion
+     - tracing: Fix showing function event in available_events
+     - sunrpc/cache: fix off-by-one in qword_get()
+     - kernel/resource.c: fix muxed resource handling in __request_region()
+     - do_last(): don't let a bogus return value from ->open() et.al. to
+       confuse us
+     - [armhf] OMAP2+: Fix onenand initialization to avoid filesystem corruption
+     - [armhf] xen: correctly handle DMA mapping of compound pages
+     - xen/scsiback: correct frontend counting
+     - xen/pciback: Check PF instead of VF for PCI_COMMAND_MEMORY
+     - xen/pciback: Save the number of MSI-X entries to be copied later.
+     - xen/pcifront: Fix mysterious crashes when NUMA locality information
+       was extracted.
+     - should_follow_link(): validate ->d_seq after having decided to follow
+     - do_last(): ELOOP failure exit should be done after leaving RCU mode
+     - [x86] mpx: Fix off-by-one comparison with nr_registers
+     - [x86] entry/compat: Add missing CLAC to entry_INT80_32
+     - [x86] irq: Call chip->irq_set_affinity in proper context
+     - [x86] irq: Fix a race in x86_vector_free_irqs()
+     - [x86] irq: Validate that irq descriptor is still active
+     - [x86] irq: Do not use apic_chip_data.old_domain as temporary buffer
+     - [x86] irq: Reorganize the return path in assign_irq_vector
+     - [x86] irq: Reorganize the search in assign_irq_vector
+     - [x86] irq: Check vector allocation early
+     - [x86] irq: Copy vectormask instead of an AND operation
+     - [x86] irq: Remove offline cpus from vector cleanup
+     - [x86] irq: Clear move_in_progress before sending cleanup IPI
+     - [x86] irq: Remove the cpumask allocation from send_cleanup_vector()
+     - [x86] irq: Remove outgoing CPU from vector cleanup mask
+     - [x86] irq: Call irq_force_move_complete with irq descriptor
+     - [x86] irq: Plug vector cleanup race
+     - IB/cma: Fix RDMA port validation for iWarp
+     - security: let security modules use PTRACE_MODE_* with bitmasks
+     - iwlwifi: dvm: fix WoWLAN
+     - iwlwifi: pcie: properly configure the debug buffer size for 8000
+     - iwlwifi: update and fix 7265 series PCI IDs
+     - iwlwifi: mvm: don't allow sched scans without matches to be started
+ 
+   [ Roger Shimizu ]
+   * [armhf] dts: imx6dlq-wandboard-revb1: use unique model id
+     (Closes: #813881).
+   * [armel] dts: Add various device-tree fixes and improvements for
+     Buffalo Linkstation devices.
+ 
+   [ Ben Hutchings ]
+   * udeb: Include more modules, including those needed on Firefly-RK3288,
+     thanks to Vagrant Cascadian (Closes: #815476)
+     - [armhf] core-modules: Include regulator drivers by default
+     - mmc-modules: Include MMC controller drivers by default
+     - mmc-modules: Depends on usb-modules
+     - usb-modules: Include USB PHY drivers by default
+   * uas: Fix high-order alloc
+   * Fix/ignore module ABI changes in 4.4.4 as appropriate
+   * Revert "drm/radeon: call hpd_irq_event on resume", reported to cause
+     regressions (crash/hang) on some systems
+   * [powerpc*] Fix module linking to work with binutils 2.26 (Closes: #808043):
+     - Simplify module TOC handling
+     - Fix dedotify for binutils >= 2.26
+ 
+   [ Ian Campbell ]
+   * [armhf] dts: Add DTB for Novena, patches from Vagrant Cascadian
+     (Closes: #815324)
+ 
+   [ Uwe Kleine-König ]
+   * [armhf] enable AXP20X_POWER (Closes: #815971)
+   * [rt] Update to 4.4.3-rt9
+ 
+  -- Ben Hutchings <ben at decadent.org.uk>  Mon, 07 Mar 2016 19:27:18 +0000
+ 
  linux (4.4.2-3) unstable; urgency=medium
  
    * [x86] efi-bgrt: Fix kernel panic when mapping BGRT data (Closes: #815125)
diff --cc debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
index 0000000,9fbc786..c7f01bf
mode 000000,100644..100644
--- a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
@@@ -1,0 -1,787 +1,771 @@@
+ From: Roger Shimizu <rogershimizu at gmail.com>
+ Date: Thu, 21 Jan 2016 23:38:50 +0900
+ Subject: ARM: dts: kirkwood: split lswvl dts to linkstation lsvl and lswvl
+ Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=60ff189ca05dedac97af8d9e51c285a44bc9e5a5
+ 
+ LS-WVL/VL are both kirkwood-6282 based NAS devices, which share
+ many MPP pins. However they are slightly different:
+   - LS-WVL is 2-Bay NAS, and LS-VL is only 1-Bay.
+   - There're two red LED indicator on LS-WVL to show when HDD fails,
+     which is similar to LS-WXL, but there's no such on LS-VL.
+ 
+ So after the split, common part goes into .dtsi file:
+   - kirkwood-linkstation-6282.dtsi
+ while all rest part goes into device specific .dts file:
+   - kirkwood-linkstation-lsvl.dts
+   - kirkwood-linkstation-lswvl.dts
+ 
+ Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+ Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+ Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+ ---
+  .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
+  arch/arm/boot/dts/Makefile                         |   3 +-
+  arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi   | 192 ++++++++++++
+  arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts    |  57 ++++
+  arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts   | 112 +++++++
+  arch/arm/boot/dts/kirkwood-lswvl.dts               | 335 ---------------------
+  6 files changed, 365 insertions(+), 337 deletions(-)
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
+  delete mode 100644 arch/arm/boot/dts/kirkwood-lswvl.dts
+ 
 -diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
 -index f68bdec8e111..0fc6faa4cddb 100644
+ --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+ +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
 -@@ -19,10 +19,11 @@ SoC. Currently known SoC compatibles are:
++@@ -19,10 +19,11 @@ SoC. Currently known SoC compatibles are
+  And in addition, the compatible shall be extended with the specific
+  board. Currently known boards are:
+  
+ +"buffalo,linkstation-lsvl"
+  "buffalo,linkstation-lswsxl"
+  "buffalo,linkstation-lswxl"
+ +"buffalo,linkstation-lswvl"
+  "buffalo,lschlv2"
+ -"buffalo,lswvl"
+  "buffalo,lsxhl"
+  "buffalo,lsxl"
 - "dlink,dns-320"
 -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
 -index 6771d0b5dc2a..91833f905aef 100644
++ "cloudengines,pogo02"
+ --- a/arch/arm/boot/dts/Makefile
+ +++ b/arch/arm/boot/dts/Makefile
 -@@ -184,10 +184,11 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
++@@ -189,10 +189,11 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+  	kirkwood-is2.dtb \
+  	kirkwood-km_kirkwood.dtb \
+  	kirkwood-laplug.dtb \
+ +	kirkwood-linkstation-lsvl.dtb \
+  	kirkwood-linkstation-lswsxl.dtb \
+ +	kirkwood-linkstation-lswvl.dtb \
+  	kirkwood-linkstation-lswxl.dtb \
+  	kirkwood-lschlv2.dtb \
+ -	kirkwood-lswvl.dtb \
+  	kirkwood-lsxhl.dtb \
+  	kirkwood-mplcec4.dtb \
+  	kirkwood-mv88f6281gtw-ge.dtb \
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
 -new file mode 100644
 -index 000000000000..6548e68a20d0
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation-6282.dtsi
+ @@ -0,0 +1,192 @@
+ +/*
+ + * Device Tree common file for kirkwood-6282 based Buffalo Linkstation
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +#include "kirkwood.dtsi"
+ +#include "kirkwood-6282.dtsi"
+ +#include "kirkwood-linkstation.dtsi"
+ +
+ +/ {
+ +	ocp at f1000000 {
+ +		pinctrl: pin-controller at 10000 {
+ +			pmx_power_hdd0: pmx-power-hdd0 {
+ +				marvell,pins = "mpp8";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_usb_vbus: pmx-usb-vbus {
+ +				marvell,pins = "mpp12";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_fan_high: pmx-fan-high {
+ +				marvell,pins = "mpp16";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_fan_low: pmx-fan-low {
+ +				marvell,pins = "mpp17";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_alarm: pmx-led-alarm {
+ +				marvell,pins = "mpp36";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_function_red: pmx-led-function-red {
+ +				marvell,pins = "mpp37";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_info: pmx-led-info {
+ +				marvell,pins = "mpp38";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_function_blue: pmx-led-function-blue {
+ +				marvell,pins = "mpp39";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_power: pmx-led-power {
+ +				marvell,pins = "mpp40";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_fan_lock: pmx-fan-lock {
+ +				marvell,pins = "mpp43";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_button_function: pmx-button-function {
+ +				marvell,pins = "mpp45";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_switch: pmx-power-switch {
+ +				marvell,pins = "mpp46";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_auto_switch: pmx-power-auto-switch {
+ +				marvell,pins = "mpp47";
+ +				marvell,function = "gpio";
+ +			};
+ +		};
+ +	};
+ +
+ +	gpio_keys {
+ +		function-button {
+ +			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		power-on-switch {
+ +			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		power-auto-switch {
+ +			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ +		};
+ +	};
+ +
+ +	gpio_leds {
+ +		red-alarm-led {
+ +			label = "linkstation:red:alarm";
+ +			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		red-function-led {
+ +			label = "linkstation:red:function";
+ +			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		amber-info-led {
+ +			label = "linkstation:amber:info";
+ +			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		blue-function-led {
+ +			label = "linkstation:blue:function";
+ +			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		blue-power-led {
+ +			label = "linkstation:blue:power";
+ +			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ +			default-state = "keep";
+ +		};
+ +	};
+ +
+ +	gpio_fan {
+ +		compatible = "gpio-fan";
+ +		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ +		pinctrl-names = "default";
+ +
+ +		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
+ +			 &gpio0 16 GPIO_ACTIVE_LOW>;
+ +
+ +		gpio-fan,speed-map = <0 3
+ +				1500 2
+ +				3250 1
+ +				5000 0>;
+ +
+ +		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ +	};
+ +
+ +	regulators {
+ +		usb_power: regulator at 1 {
+ +			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		hdd_power0: regulator at 2 {
+ +			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+ +		};
+ +	};
+ +};
+ +
+ +&mdio {
+ +	status = "okay";
+ +
+ +	ethphy0: ethernet-phy at 0 {
+ +		device_type = "ethernet-phy";
+ +		reg = <0>;
+ +	};
+ +};
+ +
+ +&eth0 {
+ +	status = "okay";
+ +
+ +	ethernet0-port at 0 {
+ +		phy-handle = <&ethphy0>;
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
 -new file mode 100644
 -index 000000000000..edcba5c44b05
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation-lsvl.dts
+ @@ -0,0 +1,57 @@
+ +/*
+ + * Device Tree file for Buffalo Linkstation LS-VL
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +/dts-v1/;
+ +#include "kirkwood-linkstation-6282.dtsi"
+ +
+ +/ {
+ +	model = "Buffalo Linkstation LS-VL";
+ +	compatible = "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+ +
+ +	memory { /* 256 MB */
+ +		device_type = "memory";
+ +		reg = <0x00000000 0x10000000>;
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
 -new file mode 100644
 -index 000000000000..954ec1d5b6dc
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation-lswvl.dts
+ @@ -0,0 +1,112 @@
+ +/*
+ + * Device Tree file for Buffalo Linkstation LS-WVL
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +/dts-v1/;
+ +#include "kirkwood-linkstation-6282.dtsi"
+ +
+ +/ {
+ +	model = "Buffalo Linkstation LS-WVL";
+ +	compatible = "buffalo,lswvl","marvell,kirkwood-88f6282", "marvell,kirkwood";
+ +
+ +	memory { /* 256 MB */
+ +		device_type = "memory";
+ +		reg = <0x00000000 0x10000000>;
+ +	};
+ +
+ +	ocp at f1000000 {
+ +		pinctrl: pin-controller at 10000 {
+ +			pmx_power_hdd1: pmx-power-hdd1 {
+ +				marvell,pins = "mpp9";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_hdderr0: pmx-led-hdderr0 {
+ +				marvell,pins = "mpp34";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_hdderr1: pmx-led-hdderr1 {
+ +				marvell,pins = "mpp35";
+ +				marvell,function = "gpio";
+ +			};
+ +		};
+ +
+ +		sata at 80000 {
+ +			nr-ports = <2>;
+ +		};
+ +	};
+ +
+ +	gpio_leds {
+ +		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+ +			     &pmx_led_info &pmx_led_power
+ +			     &pmx_led_function_blue
+ +			     &pmx_led_hdderr0
+ +			     &pmx_led_hdderr1>;
+ +
+ +		red-hdderr0-led {
+ +			label = "linkstation:red:hdderr0";
+ +			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		red-hdderr1-led {
+ +			label = "linkstation:red:hdderr1";
+ +			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ +		};
+ +	};
+ +
+ +	regulators {
+ +		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+ +
+ +		hdd_power1: regulator at 3 {
+ +			compatible = "regulator-fixed";
+ +			reg = <3>;
+ +			regulator-name = "HDD1 Power";
+ +			regulator-min-microvolt = <5000000>;
+ +			regulator-max-microvolt = <5000000>;
+ +			enable-active-high;
+ +			regulator-always-on;
+ +			regulator-boot-on;
+ +			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ +		};
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-lswvl.dts b/arch/arm/boot/dts/kirkwood-lswvl.dts
 -deleted file mode 100644
 -index 04bdc4f19a9f..000000000000
+ --- a/arch/arm/boot/dts/kirkwood-lswvl.dts
+ +++ /dev/null
+ @@ -1,335 +0,0 @@
+ -/*
+ - * Device Tree file for Buffalo Linkstation LS-WVL/VL
+ - *
+ - * Copyright (C) 2015, 2016
+ - * Roger Shimizu <rogershimizu at gmail.com>
+ - *
+ - * This file is dual-licensed: you can use it either under the terms
+ - * of the GPL or the X11 license, at your option. Note that this dual
+ - * licensing only applies to this file, and not this project as a
+ - * whole.
+ - *
+ - *  a) This file is free software; you can redistribute it and/or
+ - *     modify it under the terms of the GNU General Public License as
+ - *     published by the Free Software Foundation; either version 2 of the
+ - *     License, or (at your option) any later version.
+ - *
+ - *     This file is distributed in the hope that it will be useful
+ - *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - *     GNU General Public License for more details.
+ - *
+ - * Or, alternatively
+ - *
+ - *  b) Permission is hereby granted, free of charge, to any person
+ - *     obtaining a copy of this software and associated documentation
+ - *     files (the "Software"), to deal in the Software without
+ - *     restriction, including without limitation the rights to use
+ - *     copy, modify, merge, publish, distribute, sublicense, and/or
+ - *     sell copies of the Software, and to permit persons to whom the
+ - *     Software is furnished to do so, subject to the following
+ - *     conditions:
+ - *
+ - *     The above copyright notice and this permission notice shall be
+ - *     included in all copies or substantial portions of the Software.
+ - *
+ - *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ - *     OTHER DEALINGS IN THE SOFTWARE.
+ - */
+ -
+ -/dts-v1/;
+ -
+ -#include "kirkwood.dtsi"
+ -#include "kirkwood-6282.dtsi"
+ -
+ -/ {
+ -	model = "Buffalo Linkstation LS-WVL/VL";
+ -	compatible = "buffalo,lswvl", "buffalo,lsvl", "marvell,kirkwood-88f6282", "marvell,kirkwood";
+ -
+ -	memory { /* 256 MB */
+ -		device_type = "memory";
+ -		reg = <0x00000000 0x10000000>;
+ -	};
+ -
+ -	chosen {
+ -		bootargs = "console=ttyS0,115200n8 earlyprintk";
+ -		stdout-path = &uart0;
+ -	};
+ -
+ -	mbus {
+ -		pcie-controller {
+ -			status = "okay";
+ -			pcie at 1,0 {
+ -				status = "okay";
+ -			};
+ -		};
+ -	};
+ -
+ -	ocp at f1000000 {
+ -		pinctrl: pin-controller at 10000 {
+ -			pmx_power_hdd0: pmx-power-hdd0 {
+ -				marvell,pins = "mpp8";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_power_hdd1: pmx-power-hdd1 {
+ -				marvell,pins = "mpp9";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_usb_vbus: pmx-usb-vbus {
+ -				marvell,pins = "mpp12";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_fan_high: pmx-fan-high {
+ -				marvell,pins = "mpp16";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_fan_low: pmx-fan-low {
+ -				marvell,pins = "mpp17";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_hdderr0: pmx-led-hdderr0 {
+ -				marvell,pins = "mpp34";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_hdderr1: pmx-led-hdderr1 {
+ -				marvell,pins = "mpp35";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_alarm: pmx-led-alarm {
+ -				marvell,pins = "mpp36";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_function_red: pmx-led-function-red {
+ -				marvell,pins = "mpp37";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_info: pmx-led-info {
+ -				marvell,pins = "mpp38";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_function_blue: pmx-led-function-blue {
+ -				marvell,pins = "mpp39";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_power: pmx-led-power {
+ -				marvell,pins = "mpp40";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_fan_lock: pmx-fan-lock {
+ -				marvell,pins = "mpp43";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_button_function: pmx-button-function {
+ -				marvell,pins = "mpp45";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_power_switch: pmx-power-switch {
+ -				marvell,pins = "mpp46";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_power_auto_switch: pmx-power-auto-switch {
+ -				marvell,pins = "mpp47";
+ -				marvell,function = "gpio";
+ -			};
+ -		};
+ -
+ -		serial at 12000 {
+ -			status = "okay";
+ -		};
+ -
+ -		sata at 80000 {
+ -			status = "okay";
+ -			nr-ports = <2>;
+ -		};
+ -
+ -		spi at 10600 {
+ -			status = "okay";
+ -
+ -			m25p40 at 0 {
+ -				#address-cells = <1>;
+ -				#size-cells = <1>;
+ -				compatible = "st,m25p40", "jedec,spi-nor";
+ -				reg = <0>;
+ -				spi-max-frequency = <25000000>;
+ -				mode = <0>;
+ -
+ -				partition at 0 {
+ -					reg = <0x0 0x60000>;
+ -					label = "uboot";
+ -					read-only;
+ -				};
+ -
+ -				partition at 60000 {
+ -					reg = <0x60000 0x10000>;
+ -					label = "dtb";
+ -					read-only;
+ -				};
+ -
+ -				partition at 70000 {
+ -					reg = <0x70000 0x10000>;
+ -					label = "uboot_env";
+ -				};
+ -			};
+ -		};
+ -	};
+ -
+ -	gpio_keys {
+ -		compatible = "gpio-keys";
+ -		#address-cells = <1>;
+ -		#size-cells = <0>;
+ -		pinctrl-0 = <&pmx_button_function &pmx_power_switch
+ -			     &pmx_power_auto_switch>;
+ -		pinctrl-names = "default";
+ -
+ -		button at 1 {
+ -			label = "Function Button";
+ -			linux,code = <KEY_OPTION>;
+ -			gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		button at 2 {
+ -			label = "Power-on Switch";
+ -			linux,code = <KEY_RESERVED>;
+ -			linux,input-type = <5>;
+ -			gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		button at 3 {
+ -			label = "Power-auto Switch";
+ -			linux,code = <KEY_ESC>;
+ -			linux,input-type = <5>;
+ -			gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+ -		};
+ -	};
+ -
+ -	gpio_leds {
+ -		compatible = "gpio-leds";
+ -		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+ -			     &pmx_led_info &pmx_led_power
+ -			     &pmx_led_function_blue
+ -			     &pmx_led_hdderr0
+ -			     &pmx_led_hdderr1>;
+ -		pinctrl-names = "default";
+ -
+ -		led at 1 {
+ -			label = "lswvl:red:alarm";
+ -			gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 2 {
+ -			label = "lswvl:red:func";
+ -			gpios = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 3 {
+ -			label = "lswvl:amber:info";
+ -			gpios = <&gpio1 6 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 4 {
+ -			label = "lswvl:blue:func";
+ -			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 5 {
+ -			label = "lswvl:blue:power";
+ -			gpios = <&gpio1 8 GPIO_ACTIVE_LOW>;
+ -			default-state = "keep";
+ -		};
+ -
+ -		led at 6 {
+ -			label = "lswvl:red:hdderr0";
+ -			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 7 {
+ -			label = "lswvl:red:hdderr1";
+ -			gpios = <&gpio1 3 GPIO_ACTIVE_HIGH>;
+ -		};
+ -	};
+ -
+ -	gpio_fan {
+ -		compatible = "gpio-fan";
+ -		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ -		pinctrl-names = "default";
+ -
+ -		gpios = <&gpio0 17 GPIO_ACTIVE_LOW
+ -			 &gpio0 16 GPIO_ACTIVE_LOW>;
+ -
+ -		gpio-fan,speed-map = <0 3
+ -				1500 2
+ -				3250 1
+ -				5000 0>;
+ -
+ -		alarm-gpios = <&gpio1 11 GPIO_ACTIVE_HIGH>;
+ -	};
+ -
+ -	restart_poweroff {
+ -		compatible = "restart-poweroff";
+ -	};
+ -
+ -	regulators {
+ -		compatible = "simple-bus";
+ -		#address-cells = <1>;
+ -		#size-cells = <0>;
+ -		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+ -		pinctrl-names = "default";
+ -
+ -		usb_power: regulator at 1 {
+ -			compatible = "regulator-fixed";
+ -			reg = <1>;
+ -			regulator-name = "USB Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;
+ -		};
+ -		hdd_power0: regulator at 2 {
+ -			compatible = "regulator-fixed";
+ -			reg = <2>;
+ -			regulator-name = "HDD0 Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpio = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+ -		};
+ -		hdd_power1: regulator at 3 {
+ -			compatible = "regulator-fixed";
+ -			reg = <3>;
+ -			regulator-name = "HDD1 Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpio = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ -		};
+ -	};
+ -};
+ -
+ -&mdio {
+ -	status = "okay";
+ -
+ -	ethphy0: ethernet-phy at 0 {
+ -		device_type = "ethernet-phy";
+ -		reg = <0>;
+ -	};
+ -};
+ -
+ -&eth0 {
+ -	status = "okay";
+ -
+ -	ethernet0-port at 0 {
+ -		phy-handle = <&ethphy0>;
+ -	};
+ -};
diff --cc debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
index 0000000,d979d6f..126df41
mode 000000,100644..100644
--- a/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
+++ b/debian/patches/features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
@@@ -1,0 -1,994 +1,975 @@@
+ From: Roger Shimizu <rogershimizu at gmail.com>
+ Date: Thu, 21 Jan 2016 23:38:49 +0900
+ Subject: ARM: dts: kirkwood: split lswxl dts to linkstation lswsxl and lswxl
+ Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=b05465ff5b5e90d6d25d3f6c4e8ac6b2b3159435
+ 
+ LS-WXL/WSXL are both kirkwood-6281 based 2-Bay NAS devices, which share
+ many MPP pins. However they are slightly different:
+   - There're two red LED indicator on LS-WXL to show when HDD fails,
+     but there's no such on LS-WSXL.
+   - There's 4-level speed adjustable FAN on LS-WXL, but not LS-WSXL.
+ 
+ So after the split, common part goes into .dtsi file:
+   - kirkwood-linkstation.dtsi
+   - kirkwood-linkstation-duo-6281.dtsi
+ while all rest part goes into device specific .dts file:
+   - kirkwood-linkstation-lswsxl.dts
+   - kirkwood-linkstation-lswxl.dts
+ 
+ Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+ Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+ Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+ ---
+  .../devicetree/bindings/arm/marvell,kirkwood.txt   |   3 +-
+  arch/arm/boot/dts/Makefile                         |   3 +-
+  .../boot/dts/kirkwood-linkstation-duo-6281.dtsi    | 186 ++++++++++++
+  arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts  |  57 ++++
+  arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts   | 116 +++++++
+  arch/arm/boot/dts/kirkwood-linkstation.dtsi        | 202 +++++++++++++
+  arch/arm/boot/dts/kirkwood-lswxl.dts               | 335 ---------------------
+  7 files changed, 565 insertions(+), 337 deletions(-)
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
+  create mode 100644 arch/arm/boot/dts/kirkwood-linkstation.dtsi
+  delete mode 100644 arch/arm/boot/dts/kirkwood-lswxl.dts
+ 
 -diff --git a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
 -index ab0c9cdf388e..f68bdec8e111 100644
+ --- a/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
+ +++ b/Documentation/devicetree/bindings/arm/marvell,kirkwood.txt
 -@@ -19,9 +19,10 @@ SoC. Currently known SoC compatibles are:
++@@ -19,9 +19,10 @@ SoC. Currently known SoC compatibles are
+  And in addition, the compatible shall be extended with the specific
+  board. Currently known boards are:
+  
+ +"buffalo,linkstation-lswsxl"
+ +"buffalo,linkstation-lswxl"
+  "buffalo,lschlv2"
+  "buffalo,lswvl"
+ -"buffalo,lswxl"
+  "buffalo,lsxhl"
+  "buffalo,lsxl"
 - "dlink,dns-320"
 -diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
 -index a4a6d70e8b26..6771d0b5dc2a 100644
++ "cloudengines,pogo02"
+ --- a/arch/arm/boot/dts/Makefile
+ +++ b/arch/arm/boot/dts/Makefile
 -@@ -184,9 +184,10 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
++@@ -189,9 +189,10 @@ dtb-$(CONFIG_MACH_KIRKWOOD) += \
+  	kirkwood-is2.dtb \
+  	kirkwood-km_kirkwood.dtb \
+  	kirkwood-laplug.dtb \
+ +	kirkwood-linkstation-lswsxl.dtb \
+ +	kirkwood-linkstation-lswxl.dtb \
+  	kirkwood-lschlv2.dtb \
+  	kirkwood-lswvl.dtb \
+ -	kirkwood-lswxl.dtb \
+  	kirkwood-lsxhl.dtb \
+  	kirkwood-mplcec4.dtb \
+  	kirkwood-mv88f6281gtw-ge.dtb \
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
 -new file mode 100644
 -index 000000000000..cf2e69f0d54f
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation-duo-6281.dtsi
+ @@ -0,0 +1,186 @@
+ +/*
+ + * Device Tree common file for kirkwood-6281 based 2-Bay Buffalo Linkstation
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +#include "kirkwood.dtsi"
+ +#include "kirkwood-6281.dtsi"
+ +#include "kirkwood-linkstation.dtsi"
+ +
+ +/ {
+ +	ocp at f1000000 {
+ +		pinctrl: pin-controller at 10000 {
+ +			pmx_power_hdd0: pmx-power-hdd0 {
+ +				marvell,pins = "mpp28";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_hdd1: pmx-power-hdd1 {
+ +				marvell,pins = "mpp29";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_usb_vbus: pmx-usb-vbus {
+ +				marvell,pins = "mpp37";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_alarm: pmx-led-alarm {
+ +				marvell,pins = "mpp49";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_function_red: pmx-led-function-red {
+ +				marvell,pins = "mpp34";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_function_blue: pmx-led-function-blue {
+ +				marvell,pins = "mpp36";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_info: pmx-led-info {
+ +				marvell,pins = "mpp38";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_power: pmx-led-power {
+ +				marvell,pins = "mpp39";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_button_function: pmx-button-function {
+ +				marvell,pins = "mpp41";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_switch: pmx-power-switch {
+ +				marvell,pins = "mpp42";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_auto_switch: pmx-power-auto-switch {
+ +				marvell,pins = "mpp43";
+ +				marvell,function = "gpio";
+ +			};
+ +		};
+ +
+ +		sata at 80000 {
+ +			nr-ports = <2>;
+ +		};
+ +	};
+ +
+ +	gpio_keys {
+ +		function-button {
+ +			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		power-on-switch {
+ +			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		power-auto-switch {
+ +			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+ +		};
+ +	};
+ +
+ +	gpio_leds {
+ +		red-alarm-led {
+ +			label = "linkstation:red:alarm";
+ +			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		red-function-led {
+ +			label = "linkstation:red:function";
+ +			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		amber-info-led {
+ +			label = "linkstation:amber:info";
+ +			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		blue-function-led {
+ +			label = "linkstation:blue:function";
+ +			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+ +		};
+ +
+ +		blue-power-led {
+ +			label = "linkstation:blue:power";
+ +			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ +			default-state = "keep";
+ +		};
+ +	};
+ +
+ +	regulators {
+ +		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+ +
+ +		usb_power: regulator at 1 {
+ +			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		hdd_power0: regulator at 2 {
+ +			gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		hdd_power1: regulator at 3 {
+ +			compatible = "regulator-fixed";
+ +			reg = <3>;
+ +			regulator-name = "HDD1 Power";
+ +			regulator-min-microvolt = <5000000>;
+ +			regulator-max-microvolt = <5000000>;
+ +			enable-active-high;
+ +			regulator-always-on;
+ +			regulator-boot-on;
+ +			gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+ +		};
+ +	};
+ +};
+ +
+ +&mdio {
+ +	status = "okay";
+ +
+ +	ethphy1: ethernet-phy at 8 {
+ +		device_type = "ethernet-phy";
+ +		reg = <8>;
+ +	};
+ +};
+ +
+ +&eth1 {
+ +	status = "okay";
+ +
+ +	ethernet1-port at 0 {
+ +		phy-handle = <&ethphy1>;
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
 -new file mode 100644
 -index 000000000000..4b6450186af5
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation-lswsxl.dts
+ @@ -0,0 +1,57 @@
+ +/*
+ + * Device Tree file for Buffalo Linkstation LS-WSXL
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +/dts-v1/;
+ +#include "kirkwood-linkstation-duo-6281.dtsi"
+ +
+ +/ {
+ +	model = "Buffalo Linkstation LS-WSXL";
+ +	compatible = "buffalo,lswsxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+ +
+ +	memory { /* 128 MB */
+ +		device_type = "memory";
+ +		reg = <0x00000000 0x8000000>;
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
 -new file mode 100644
 -index 000000000000..ecd5c12a805d
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation-lswxl.dts
+ @@ -0,0 +1,116 @@
+ +/*
+ + * Device Tree file for Buffalo Linkstation LS-WXL
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +/dts-v1/;
+ +#include "kirkwood-linkstation-duo-6281.dtsi"
+ +
+ +/ {
+ +	model = "Buffalo Linkstation LS-WXL";
+ +	compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+ +
+ +	memory { /* 128 MB */
+ +		device_type = "memory";
+ +		reg = <0x00000000 0x8000000>;
+ +	};
+ +
+ +	ocp at f1000000 {
+ +		pinctrl: pin-controller at 10000 {
+ +			pmx_led_hdderr0: pmx-led-hdderr0 {
+ +				marvell,pins = "mpp8";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_hdderr1: pmx-led-hdderr1 {
+ +				marvell,pins = "mpp46";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_fan_lock: pmx-fan-lock {
+ +				marvell,pins = "mpp40";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_fan_high: pmx-fan-high {
+ +				marvell,pins = "mpp47";
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_fan_low: pmx-fan-low {
+ +				marvell,pins = "mpp48";
+ +				marvell,function = "gpio";
+ +			};
+ +		};
+ +	};
+ +
+ +	gpio_leds {
+ +		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+ +			     &pmx_led_info &pmx_led_power
+ +			     &pmx_led_function_blue
+ +			     &pmx_led_hdderr0
+ +			     &pmx_led_hdderr1>;
+ +
+ +		red-hdderr0-led {
+ +			label = "linkstation:red:hdderr0";
+ +			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+ +		};
+ +
+ +		red-hdderr1-led {
+ +			label = "linkstation:red:hdderr1";
+ +			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+ +		};
+ +	};
+ +
+ +	gpio_fan {
+ +		compatible = "gpio-fan";
+ +		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ +		pinctrl-names = "default";
+ +
+ +		gpios = <&gpio1 16 GPIO_ACTIVE_LOW
+ +			 &gpio1 15 GPIO_ACTIVE_LOW>;
+ +
+ +		gpio-fan,speed-map = <0 3
+ +				1500 2
+ +				3250 1
+ +				5000 0>;
+ +
+ +		alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-linkstation.dtsi b/arch/arm/boot/dts/kirkwood-linkstation.dtsi
 -new file mode 100644
 -index 000000000000..69061b6e987b
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/kirkwood-linkstation.dtsi
+ @@ -0,0 +1,202 @@
+ +/*
+ + * Device Tree common file for kirkwood based Buffalo Linkstation
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +/ {
+ +	chosen {
+ +		bootargs = "console=ttyS0,115200n8 earlyprintk";
+ +		stdout-path = &uart0;
+ +	};
+ +
+ +	mbus {
+ +		pcie-controller {
+ +			status = "okay";
+ +			pcie at 1,0 {
+ +				status = "okay";
+ +			};
+ +		};
+ +	};
+ +
+ +	ocp at f1000000 {
+ +		pinctrl: pin-controller at 10000 {
+ +			pmx_power_hdd0: pmx-power-hdd0 {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_usb_vbus: pmx-usb-vbus {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_alarm: pmx-led-alarm {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_function_red: pmx-led-function-red {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_function_blue: pmx-led-function-blue {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_info: pmx-led-info {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_led_power: pmx-led-power {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_button_function: pmx-button-function {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_switch: pmx-power-switch {
+ +				marvell,function = "gpio";
+ +			};
+ +			pmx_power_auto_switch: pmx-power-auto-switch {
+ +				marvell,function = "gpio";
+ +			};
+ +		};
+ +
+ +		serial at 12000 {
+ +			status = "okay";
+ +		};
+ +
+ +		sata at 80000 {
+ +			status = "okay";
+ +			nr-ports = <1>;
+ +		};
+ +
+ +		spi at 10600 {
+ +			status = "okay";
+ +
+ +			m25p40 at 0 {
+ +				#address-cells = <1>;
+ +				#size-cells = <1>;
+ +				compatible = "st,m25p40", "jedec,spi-nor";
+ +				reg = <0>;
+ +				spi-max-frequency = <25000000>;
+ +				mode = <0>;
+ +
+ +				partition at 0 {
+ +					reg = <0x0 0x60000>;
+ +					label = "uboot";
+ +					read-only;
+ +				};
+ +
+ +				partition at 60000 {
+ +					reg = <0x60000 0x10000>;
+ +					label = "dtb";
+ +					read-only;
+ +				};
+ +
+ +				partition at 70000 {
+ +					reg = <0x70000 0x10000>;
+ +					label = "uboot_env";
+ +				};
+ +			};
+ +		};
+ +	};
+ +
+ +	gpio_keys {
+ +		compatible = "gpio-keys";
+ +		#address-cells = <1>;
+ +		#size-cells = <0>;
+ +		pinctrl-0 = <&pmx_button_function &pmx_power_switch
+ +			     &pmx_power_auto_switch>;
+ +		pinctrl-names = "default";
+ +
+ +		function-button {
+ +			label = "Function Button";
+ +			linux,code = <KEY_OPTION>;
+ +		};
+ +
+ +		power-on-switch {
+ +			label = "Power-on Switch";
+ +			linux,code = <KEY_RESERVED>;
+ +			linux,input-type = <5>;
+ +		};
+ +
+ +		power-auto-switch {
+ +			label = "Power-auto Switch";
+ +			linux,code = <KEY_ESC>;
+ +			linux,input-type = <5>;
+ +		};
+ +	};
+ +
+ +	gpio_leds {
+ +		compatible = "gpio-leds";
+ +		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+ +			     &pmx_led_info &pmx_led_power
+ +			     &pmx_led_function_blue>;
+ +		pinctrl-names = "default";
+ +	};
+ +
+ +	restart_poweroff {
+ +		compatible = "restart-poweroff";
+ +	};
+ +
+ +	regulators {
+ +		compatible = "simple-bus";
+ +		#address-cells = <1>;
+ +		#size-cells = <0>;
+ +		pinctrl-0 = <&pmx_power_hdd0 &pmx_usb_vbus>;
+ +		pinctrl-names = "default";
+ +
+ +		usb_power: regulator at 1 {
+ +			compatible = "regulator-fixed";
+ +			reg = <1>;
+ +			regulator-name = "USB Power";
+ +			regulator-min-microvolt = <5000000>;
+ +			regulator-max-microvolt = <5000000>;
+ +			enable-active-high;
+ +			regulator-always-on;
+ +			regulator-boot-on;
+ +		};
+ +
+ +		hdd_power0: regulator at 2 {
+ +			compatible = "regulator-fixed";
+ +			reg = <2>;
+ +			regulator-name = "HDD0 Power";
+ +			regulator-min-microvolt = <5000000>;
+ +			regulator-max-microvolt = <5000000>;
+ +			enable-active-high;
+ +			regulator-always-on;
+ +			regulator-boot-on;
+ +		};
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/kirkwood-lswxl.dts b/arch/arm/boot/dts/kirkwood-lswxl.dts
 -deleted file mode 100644
 -index 930899d13c5d..000000000000
+ --- a/arch/arm/boot/dts/kirkwood-lswxl.dts
+ +++ /dev/null
+ @@ -1,335 +0,0 @@
+ -/*
+ - * Device Tree file for Buffalo Linkstation LS-WXL/WSXL
+ - *
+ - * Copyright (C) 2015, 2016
+ - * Roger Shimizu <rogershimizu at gmail.com>
+ - *
+ - * This file is dual-licensed: you can use it either under the terms
+ - * of the GPL or the X11 license, at your option. Note that this dual
+ - * licensing only applies to this file, and not this project as a
+ - * whole.
+ - *
+ - *  a) This file is free software; you can redistribute it and/or
+ - *     modify it under the terms of the GNU General Public License as
+ - *     published by the Free Software Foundation; either version 2 of the
+ - *     License, or (at your option) any later version.
+ - *
+ - *     This file is distributed in the hope that it will be useful
+ - *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ - *     GNU General Public License for more details.
+ - *
+ - * Or, alternatively
+ - *
+ - *  b) Permission is hereby granted, free of charge, to any person
+ - *     obtaining a copy of this software and associated documentation
+ - *     files (the "Software"), to deal in the Software without
+ - *     restriction, including without limitation the rights to use
+ - *     copy, modify, merge, publish, distribute, sublicense, and/or
+ - *     sell copies of the Software, and to permit persons to whom the
+ - *     Software is furnished to do so, subject to the following
+ - *     conditions:
+ - *
+ - *     The above copyright notice and this permission notice shall be
+ - *     included in all copies or substantial portions of the Software.
+ - *
+ - *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ - *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ - *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ - *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ - *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ - *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ - *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ - *     OTHER DEALINGS IN THE SOFTWARE.
+ - */
+ -
+ -/dts-v1/;
+ -
+ -#include "kirkwood.dtsi"
+ -#include "kirkwood-6281.dtsi"
+ -
+ -/ {
+ -	model = "Buffalo Linkstation LS-WXL/WSXL";
+ -	compatible = "buffalo,lswxl", "marvell,kirkwood-88f6281", "marvell,kirkwood";
+ -
+ -	memory { /* 128 MB */
+ -		device_type = "memory";
+ -		reg = <0x00000000 0x8000000>;
+ -	};
+ -
+ -	chosen {
+ -		bootargs = "console=ttyS0,115200n8 earlyprintk";
+ -		stdout-path = &uart0;
+ -	};
+ -
+ -	mbus {
+ -		pcie-controller {
+ -			status = "okay";
+ -			pcie at 1,0 {
+ -				status = "okay";
+ -			};
+ -		};
+ -	};
+ -
+ -	ocp at f1000000 {
+ -		pinctrl: pin-controller at 10000 {
+ -			pmx_power_hdd0: pmx-power-hdd0 {
+ -				marvell,pins = "mpp28";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_power_hdd1: pmx-power-hdd1 {
+ -				marvell,pins = "mpp29";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_usb_vbus: pmx-usb-vbus {
+ -				marvell,pins = "mpp37";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_fan_high: pmx-fan-high {
+ -				marvell,pins = "mpp47";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_fan_low: pmx-fan-low {
+ -				marvell,pins = "mpp48";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_hdderr0: pmx-led-hdderr0 {
+ -				marvell,pins = "mpp8";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_hdderr1: pmx-led-hdderr1 {
+ -				marvell,pins = "mpp46";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_alarm: pmx-led-alarm {
+ -				marvell,pins = "mpp49";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_function_red: pmx-led-function-red {
+ -				marvell,pins = "mpp34";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_function_blue: pmx-led-function-blue {
+ -				marvell,pins = "mpp36";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_info: pmx-led-info {
+ -				marvell,pins = "mpp38";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_led_power: pmx-led-power {
+ -				marvell,pins = "mpp39";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_fan_lock: pmx-fan-lock {
+ -				marvell,pins = "mpp40";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_button_function: pmx-button-function {
+ -				marvell,pins = "mpp41";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_power_switch: pmx-power-switch {
+ -				marvell,pins = "mpp42";
+ -				marvell,function = "gpio";
+ -			};
+ -			pmx_power_auto_switch: pmx-power-auto-switch {
+ -				marvell,pins = "mpp43";
+ -				marvell,function = "gpio";
+ -			};
+ -		};
+ -
+ -		serial at 12000 {
+ -			status = "okay";
+ -		};
+ -
+ -		sata at 80000 {
+ -			status = "okay";
+ -			nr-ports = <2>;
+ -		};
+ -
+ -		spi at 10600 {
+ -			status = "okay";
+ -
+ -			m25p40 at 0 {
+ -				#address-cells = <1>;
+ -				#size-cells = <1>;
+ -				compatible = "st,m25p40", "jedec,spi-nor";
+ -				reg = <0>;
+ -				spi-max-frequency = <25000000>;
+ -				mode = <0>;
+ -
+ -				partition at 0 {
+ -					reg = <0x0 0x60000>;
+ -					label = "uboot";
+ -					read-only;
+ -				};
+ -
+ -				partition at 60000 {
+ -					reg = <0x60000 0x10000>;
+ -					label = "dtb";
+ -					read-only;
+ -				};
+ -
+ -				partition at 70000 {
+ -					reg = <0x70000 0x10000>;
+ -					label = "uboot_env";
+ -				};
+ -			};
+ -		};
+ -	};
+ -
+ -	gpio_keys {
+ -		compatible = "gpio-keys";
+ -		#address-cells = <1>;
+ -		#size-cells = <0>;
+ -		pinctrl-0 = <&pmx_button_function &pmx_power_switch
+ -			     &pmx_power_auto_switch>;
+ -		pinctrl-names = "default";
+ -
+ -		button at 1 {
+ -			label = "Function Button";
+ -			linux,code = <KEY_OPTION>;
+ -			gpios = <&gpio1 9 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		button at 2 {
+ -			label = "Power-on Switch";
+ -			linux,code = <KEY_RESERVED>;
+ -			linux,input-type = <5>;
+ -			gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		button at 3 {
+ -			label = "Power-auto Switch";
+ -			linux,code = <KEY_ESC>;
+ -			linux,input-type = <5>;
+ -			gpios = <&gpio1 11 GPIO_ACTIVE_LOW>;
+ -		};
+ -	};
+ -
+ -	gpio_leds {
+ -		compatible = "gpio-leds";
+ -		pinctrl-0 = <&pmx_led_function_red &pmx_led_alarm
+ -			     &pmx_led_info &pmx_led_power
+ -			     &pmx_led_function_blue
+ -			     &pmx_led_hdderr0
+ -			     &pmx_led_hdderr1>;
+ -		pinctrl-names = "default";
+ -
+ -		led at 1 {
+ -			label = "lswxl:blue:func";
+ -			gpios = <&gpio1 4 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		led at 2 {
+ -			label = "lswxl:red:alarm";
+ -			gpios = <&gpio1 17 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		led at 3 {
+ -			label = "lswxl:amber:info";
+ -			gpios = <&gpio1 6 GPIO_ACTIVE_LOW>;
+ -		};
+ -
+ -		led at 4 {
+ -			label = "lswxl:blue:power";
+ -			gpios = <&gpio1 7 GPIO_ACTIVE_HIGH>;
+ -			default-state = "keep";
+ -		};
+ -
+ -		led at 5 {
+ -			label = "lswxl:red:func";
+ -			gpios = <&gpio1 2 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 6 {
+ -			label = "lswxl:red:hdderr0";
+ -			gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+ -		};
+ -
+ -		led at 7 {
+ -			label = "lswxl:red:hdderr1";
+ -			gpios = <&gpio1 14 GPIO_ACTIVE_HIGH>;
+ -		};
+ -	};
+ -
+ -	gpio_fan {
+ -		compatible = "gpio-fan";
+ -		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ -		pinctrl-names = "default";
+ -
+ -		gpios = <&gpio1 16 GPIO_ACTIVE_LOW
+ -			 &gpio1 15 GPIO_ACTIVE_LOW>;
+ -
+ -		gpio-fan,speed-map = <0 3
+ -				1500 2
+ -				3250 1
+ -				5000 0>;
+ -
+ -		alarm-gpios = <&gpio1 8 GPIO_ACTIVE_HIGH>;
+ -	};
+ -
+ -	restart_poweroff {
+ -		compatible = "restart-poweroff";
+ -	};
+ -
+ -	regulators {
+ -		compatible = "simple-bus";
+ -		#address-cells = <1>;
+ -		#size-cells = <0>;
+ -		pinctrl-0 = <&pmx_power_hdd0 &pmx_power_hdd1 &pmx_usb_vbus>;
+ -		pinctrl-names = "default";
+ -
+ -		usb_power: regulator at 1 {
+ -			compatible = "regulator-fixed";
+ -			reg = <1>;
+ -			regulator-name = "USB Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpio = <&gpio1 5 GPIO_ACTIVE_HIGH>;
+ -		};
+ -		hdd_power0: regulator at 2 {
+ -			compatible = "regulator-fixed";
+ -			reg = <2>;
+ -			regulator-name = "HDD0 Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpio = <&gpio0 28 GPIO_ACTIVE_HIGH>;
+ -		};
+ -		hdd_power1: regulator at 3 {
+ -			compatible = "regulator-fixed";
+ -			reg = <3>;
+ -			regulator-name = "HDD1 Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpio = <&gpio0 29 GPIO_ACTIVE_HIGH>;
+ -		};
+ -	};
+ -};
+ -
+ -&mdio {
+ -	status = "okay";
+ -
+ -	ethphy1: ethernet-phy at 8 {
+ -		device_type = "ethernet-phy";
+ -		reg = <8>;
+ -	};
+ -};
+ -
+ -&eth1 {
+ -	status = "okay";
+ -
+ -	ethernet1-port at 0 {
+ -		phy-handle = <&ethphy1>;
+ -	};
+ -};
diff --cc debian/patches/features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
index 0000000,d2dc64d..837133a
mode 000000,100644..100644
--- a/debian/patches/features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
+++ b/debian/patches/features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
@@@ -1,0 -1,710 +1,699 @@@
+ From: Roger Shimizu <rogershimizu at gmail.com>
+ Date: Sat, 6 Feb 2016 14:59:52 +0900
+ Subject: ARM: dts: orion5x: split linkstation lswtgl into common and device parts
+ Origin: https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/commit/?id=305e0b2a7a85e8bd65818cb3636b205f784ed377
+ 
+ In order to support more linkstation devices, common part of current
+ .dts file goes into .dtsi file. Some .dtsi start with "mvebu-" prefix
+ because other kirkwood based linkstation devices are similar, and
+ will be migrated to use these .dtsi some time later.
+   - orion5x-linkstation.dtsi
+   - mvebu-linkstation-fan.dtsi
+   - mvebu-linkstation-gpio-simple.dtsi
+ while all rest part remains in device specific .dts file:
+   - orion5x-linkstation-lswtgl.dts
+ 
+ Signed-off-by: Roger Shimizu <rogershimizu at gmail.com>
+ Reviewed-by: Andrew Lunn <andrew at lunn.ch>
+ Signed-off-by: Gregory CLEMENT <gregory.clement at free-electrons.com>
+ ---
+  arch/arm/boot/dts/mvebu-linkstation-fan.dtsi       |  72 ++++++
+  .../boot/dts/mvebu-linkstation-gpio-simple.dtsi    | 105 +++++++++
+  arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts   | 243 ++++-----------------
+  arch/arm/boot/dts/orion5x-linkstation.dtsi         | 180 +++++++++++++++
+  4 files changed, 402 insertions(+), 198 deletions(-)
+  create mode 100644 arch/arm/boot/dts/mvebu-linkstation-fan.dtsi
+  create mode 100644 arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi
+  create mode 100644 arch/arm/boot/dts/orion5x-linkstation.dtsi
+ 
 -diff --git a/arch/arm/boot/dts/mvebu-linkstation-fan.dtsi b/arch/arm/boot/dts/mvebu-linkstation-fan.dtsi
 -new file mode 100644
 -index 000000000000..e211a3c47a76
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/mvebu-linkstation-fan.dtsi
+ @@ -0,0 +1,72 @@
+ +/*
+ + * Device Tree common file for gpio-fan on Buffalo Linkstation
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +/ {
+ +	gpio_fan {
+ +		compatible = "gpio-fan";
+ +		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ +		pinctrl-names = "default";
+ +
+ +		gpio-fan,speed-map =
+ +			<0		3
+ +			1500	2
+ +			3250	1
+ +			5000	0>;
+ +	};
+ +};
+ +
+ +&pinctrl {
+ +	pmx_fan_low: pmx-fan-low {
+ +		marvell,function = "gpio";
+ +	};
+ +
+ +	pmx_fan_high: pmx-fan-high {
+ +		marvell,function = "gpio";
+ +	};
+ +
+ +	pmx_fan_lock: pmx-fan-lock {
+ +		marvell,function = "gpio";
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi b/arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi
 -new file mode 100644
 -index 000000000000..68d75e79a360
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/mvebu-linkstation-gpio-simple.dtsi
+ @@ -0,0 +1,105 @@
+ +/*
+ + * Device Tree common file for gpio-{keys,leds} on Buffalo Linkstation
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +#include <dt-bindings/input/input.h>
+ +
+ +/ {
+ +	gpio_keys {
+ +		compatible = "gpio-keys";
+ +		#address-cells = <1>;
+ +		#size-cells = <0>;
+ +		pinctrl-0 = <&pmx_power_switch>;
+ +		pinctrl-names = "default";
+ +
+ +		power-on-switch {
+ +			label = "Power-on Switch";
+ +			linux,code = <KEY_RESERVED>;
+ +			linux,input-type = <5>;
+ +		};
+ +
+ +		power-auto-switch {
+ +			label = "Power-auto Switch";
+ +			linux,code = <KEY_ESC>;
+ +			linux,input-type = <5>;
+ +		};
+ +	};
+ +
+ +	gpio_leds {
+ +		compatible = "gpio-leds";
+ +		pinctrl-0 = <&pmx_led_power &pmx_led_alarm &pmx_led_info>;
+ +		pinctrl-names = "default";
+ +
+ +		blue-power-led {
+ +			label = "linkstation:blue:power";
+ +			default-state = "keep";
+ +		};
+ +
+ +		red-alarm-led {
+ +			label = "linkstation:red:alarm";
+ +		};
+ +
+ +		amber-info-led {
+ +			label = "linkstation:amber:info";
+ +		};
+ +	};
+ +};
+ +
+ +&pinctrl {
+ +	pmx_power_switch: pmx-power-switch {
+ +		marvell,function = "gpio";
+ +	};
+ +
+ +	pmx_led_power: pmx-leds {
+ +		marvell,function = "gpio";
+ +	};
+ +
+ +	pmx_led_alarm: pmx-leds {
+ +		marvell,function = "gpio";
+ +	};
+ +
+ +	pmx_led_info: pmx-leds {
+ +		marvell,function = "gpio";
+ +	};
+ +};
 -diff --git a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
 -index aae8a7aceab7..0eead400f427 100644
+ --- a/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+ +++ b/arch/arm/boot/dts/orion5x-linkstation-lswtgl.dts
+ @@ -45,9 +45,10 @@
+  
+  /dts-v1/;
+  
+ +#include "orion5x-linkstation.dtsi"
+ +#include "mvebu-linkstation-gpio-simple.dtsi"
+ +#include "mvebu-linkstation-fan.dtsi"
+  #include <dt-bindings/gpio/gpio.h>
+ -#include <dt-bindings/input/input.h>
+ -#include "orion5x-mv88f5182.dtsi"
+  
+  / {
+  	model = "Buffalo Linkstation LS-WTGL";
+ @@ -58,247 +59,93 @@
+  		reg = <0x00000000 0x4000000>;
+  	};
+  
+ -	chosen {
+ -		bootargs = "console=ttyS0,115200n8 earlyprintk";
+ -		linux,stdout-path = &uart0;
+ -	};
+ -
+ -	soc {
+ -		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
+ -		         <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
+ -			 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x40000>;
+ -
+ -		internal-regs {
+ -			pinctrl: pinctrl at 10000 {
+ -				pinctrl-names = "default";
+ -
+ -				pmx_led_power: pmx-leds {
+ -					marvell,pins = "mpp0";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_led_alarm: pmx-leds {
+ -					marvell,pins = "mpp2";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_led_info: pmx-leds {
+ -					marvell,pins = "mpp3";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_power_hdd: pmx-power-hdd {
+ -					marvell,pins = "mpp1";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_usb_power: pmx-usb-power {
+ -					marvell,pins = "mpp9";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_sata0: pmx-sata0 {
+ -					marvell,pins = "mpp12";
+ -					marvell,function = "sata0";
+ -				};
+ -
+ -				pmx_sata1: pmx-sata1 {
+ -					marvell,pins = "mpp13";
+ -					marvell,function = "sata1";
+ -				};
+ -
+ -				pmx_fan_high: pmx-fan-high {
+ -					marvell,pins = "mpp14";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_fan_low: pmx-fan-low {
+ -					marvell,pins = "mpp17";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_fan_lock: pmx-fan-lock {
+ -					marvell,pins = "mpp6";
+ -					marvell,function = "gpio";
+ -				};
+ -
+ -				pmx_power_switch: pmx-power-switch {
+ -					marvell,pins = "mpp8", "mpp10";
+ -					marvell,function = "gpio";
+ -				};
+ -			};
+ -		};
+ -	};
+ -
+  	gpio_keys {
+ -		compatible = "gpio-keys";
+ -		#address-cells = <1>;
+ -		#size-cells = <0>;
+ -		pinctrl-0 = <&pmx_power_switch>;
+ -		pinctrl-names = "default";
+ -
+ -		button at 1 {
+ -			label = "Power-on Switch";
+ -			linux,code = <KEY_RESERVED>;
+ -			linux,input-type = <5>;
+ +		power-on-switch {
+  			gpios = <&gpio0 8 GPIO_ACTIVE_LOW>;
+  		};
+  
+ -		button at 2 {
+ -			label = "Power-auto Switch";
+ -			linux,code = <KEY_ESC>;
+ -			linux,input-type = <5>;
+ +		power-auto-switch {
+  			gpios = <&gpio0 10 GPIO_ACTIVE_LOW>;
+  		};
+  	};
+  
+  	gpio_leds {
+ -		compatible = "gpio-leds";
+ -		pinctrl-0 = <&pmx_led_power &pmx_led_alarm
+ -			     &pmx_led_info>;
+ -		pinctrl-names = "default";
+ -
+ -		led at 1 {
+ -			label = "lswtgl:blue:power";
+ +		blue-power-led {
+  			gpios = <&gpio0 0 GPIO_ACTIVE_LOW>;
+ -			default-state = "keep";
+  		};
+  
+ -		led at 2 {
+ -			label = "lswtgl:red:alarm";
+ +		red-alarm-led {
+  			gpios = <&gpio0 2 GPIO_ACTIVE_LOW>;
+  		};
+  
+ -		led at 3 {
+ -			label = "lswtgl:amber:info";
+ +		amber-info-led {
+  			gpios = <&gpio0 3 GPIO_ACTIVE_LOW>;
+  		};
+  	};
+  
+  	gpio_fan {
+ -		compatible = "gpio-fan";
+ -		pinctrl-0 = <&pmx_fan_low &pmx_fan_high &pmx_fan_lock>;
+ -		pinctrl-names = "default";
+ -
+  		gpios = <&gpio0 14 GPIO_ACTIVE_LOW
+  			 &gpio0 17 GPIO_ACTIVE_LOW>;
+  
+ -		gpio-fan,speed-map = <0 3
+ -				1500 2
+ -				3250 1
+ -				5000 0>;
+ -
+  		alarm-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
+  	};
+ +};
+  
+ -	restart_poweroff {
+ -		compatible = "restart-poweroff";
+ +&pinctrl {
+ +	pmx_led_power: pmx-leds {
+ +		marvell,pins = "mpp0";
+ +		marvell,function = "gpio";
+  	};
+  
+ -	regulators {
+ -		compatible = "simple-bus";
+ -		#address-cells = <1>;
+ -		#size-cells = <0>;
+ -		pinctrl-0 = <&pmx_power_hdd &pmx_usb_power>;
+ -		pinctrl-names = "default";
+ -
+ -		usb_power: regulator at 1 {
+ -			compatible = "regulator-fixed";
+ -			reg = <1>;
+ -			regulator-name = "USB Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+ -		};
 --
+++	pmx_power_hdd: pmx-power-hdd {
+++		marvell,pins = "mpp1";
+++		marvell,function = "gpio";
+++	};
++ 
+ -		hdd_power: regulator at 2 {
+ -			compatible = "regulator-fixed";
+ -			reg = <2>;
+ -			regulator-name = "HDD Power";
+ -			regulator-min-microvolt = <5000000>;
+ -			regulator-max-microvolt = <5000000>;
+ -			enable-active-high;
+ -			regulator-always-on;
+ -			regulator-boot-on;
+ -			gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+ -		};
 -+	pmx_power_hdd: pmx-power-hdd {
 -+		marvell,pins = "mpp1";
+++	pmx_led_alarm: pmx-leds {
+++		marvell,pins = "mpp2";
+ +		marvell,function = "gpio";
+  	};
+ -};
 --
++ 
+ -&devbus_bootcs {
+ -	status = "okay";
+ -	devbus,keep-config;
 - 
++-
+ -	flash at 0 {
+ -		compatible = "jedec-flash";
+ -		reg = <0 0x40000>;
+ -		bank-width = <1>;
+ -
+ -		partitions {
+ -			compatible = "fixed-partitions";
+ -			#address-cells = <1>;
+ -			#size-cells = <1>;
+ -
+ -			header at 0 {
+ -				reg = <0 0x30000>;
+ -				read-only;
+ -			};
+ -
+ -			uboot at 30000 {
+ -				reg = <0x30000 0xF000>;
+ -				read-only;
+ -			};
 -+	pmx_led_alarm: pmx-leds {
 -+		marvell,pins = "mpp2";
 -+		marvell,function = "gpio";
 -+	};
 - 
++-
+ -			uboot_env at 3F000 {
+ -				reg = <0x3F000 0x1000>;
+ -			};
+ -		};
+ +	pmx_led_info: pmx-leds {
+ +		marvell,pins = "mpp3";
+ +		marvell,function = "gpio";
+  	};
+ -};
+  
+ -&mdio {
+ -	status = "okay";
+ +	pmx_fan_lock: pmx-fan-lock {
+ +		marvell,pins = "mpp6";
+ +		marvell,function = "gpio";
+ +	};
+  
+ -	ethphy: ethernet-phy {
+ -		reg = <8>;
+ +	pmx_power_switch: pmx-power-switch {
+ +		marvell,pins = "mpp8", "mpp10";
+ +		marvell,function = "gpio";
+  	};
+ -};
+  
+ -&eth {
+ -	status = "okay";
+ +	pmx_power_usb: pmx-power-usb {
+ +		marvell,pins = "mpp9";
+ +		marvell,function = "gpio";
+ +	};
+  
+ -	ethernet-port at 0 {
+ -		phy-handle = <&ethphy>;
+ +	pmx_fan_high: pmx-fan-high {
+ +		marvell,pins = "mpp14";
+ +		marvell,function = "gpio";
+  	};
+ -};
+  
+ -&ehci0 {
+ -	status = "okay";
+ +	pmx_fan_low: pmx-fan-low {
+ +		marvell,pins = "mpp17";
+ +		marvell,function = "gpio";
+ +	};
+  };
+  
+ -&i2c {
+ -	status = "okay";
+ -
+ -	rtc {
+ -		compatible = "ricoh,rs5c372a";
+ -		reg = <0x32>;
+ -	};
+ +&hdd_power {
+ +	gpios = <&gpio0 1 GPIO_ACTIVE_HIGH>;
+  };
+  
+ -&wdt {
+ -	status = "disabled";
+ +&usb_power {
+ +	gpios = <&gpio0 9 GPIO_ACTIVE_HIGH>;
+  };
+  
+  &sata {
+ -	pinctrl-0 = <&pmx_sata0 &pmx_sata1>;
+ -	pinctrl-names = "default";
+ -	status = "okay";
+  	nr-ports = <2>;
+  };
+ -
+ -&uart0 {
+ -	status = "okay";
+ -};
 -diff --git a/arch/arm/boot/dts/orion5x-linkstation.dtsi b/arch/arm/boot/dts/orion5x-linkstation.dtsi
 -new file mode 100644
 -index 000000000000..ed456ab35fd8
+ --- /dev/null
+ +++ b/arch/arm/boot/dts/orion5x-linkstation.dtsi
+ @@ -0,0 +1,180 @@
+ +/*
+ + * Device Tree common file for orion5x based Buffalo Linkstation
+ + *
+ + * Copyright (C) 2015, 2016
+ + * Roger Shimizu <rogershimizu at gmail.com>
+ + *
+ + * This file is dual-licensed: you can use it either under the terms
+ + * of the GPL or the X11 license, at your option. Note that this dual
+ + * licensing only applies to this file, and not this project as a
+ + * whole.
+ + *
+ + *  a) This file is free software; you can redistribute it and/or
+ + *     modify it under the terms of the GNU General Public License as
+ + *     published by the Free Software Foundation; either version 2 of the
+ + *     License, or (at your option) any later version.
+ + *
+ + *     This file is distributed in the hope that it will be useful
+ + *     but WITHOUT ANY WARRANTY; without even the implied warranty of
+ + *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ + *     GNU General Public License for more details.
+ + *
+ + * Or, alternatively
+ + *
+ + *  b) Permission is hereby granted, free of charge, to any person
+ + *     obtaining a copy of this software and associated documentation
+ + *     files (the "Software"), to deal in the Software without
+ + *     restriction, including without limitation the rights to use
+ + *     copy, modify, merge, publish, distribute, sublicense, and/or
+ + *     sell copies of the Software, and to permit persons to whom the
+ + *     Software is furnished to do so, subject to the following
+ + *     conditions:
+ + *
+ + *     The above copyright notice and this permission notice shall be
+ + *     included in all copies or substantial portions of the Software.
+ + *
+ + *     THE SOFTWARE IS PROVIDED , WITHOUT WARRANTY OF ANY KIND
+ + *     EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+ + *     OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ + *     NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+ + *     HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY
+ + *     WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ + *     FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+ + *     OTHER DEALINGS IN THE SOFTWARE.
+ + */
+ +
+ +#include "orion5x-mv88f5182.dtsi"
+ +
+ +/ {
+ +	chosen {
+ +		bootargs = "console=ttyS0,115200n8 earlyprintk";
+ +		linux,stdout-path = &uart0;
+ +	};
+ +
+ +	soc {
+ +		ranges = <MBUS_ID(0xf0, 0x01) 0 0xf1000000 0x100000>,
+ +				 <MBUS_ID(0x09, 0x00) 0 0xf2200000 0x800>,
+ +				 <MBUS_ID(0x01, 0x0f) 0 0xf4000000 0x40000>;
+ +	};
+ +
+ +	restart_poweroff {
+ +		compatible = "restart-poweroff";
+ +	};
+ +
+ +	regulators {
+ +		compatible = "simple-bus";
+ +		#address-cells = <1>;
+ +		#size-cells = <0>;
+ +		pinctrl-0 = <&pmx_power_usb &pmx_power_hdd>;
+ +		pinctrl-names = "default";
+ +
+ +		usb_power: regulator at 1 {
+ +			compatible = "regulator-fixed";
+ +			reg = <1>;
+ +			regulator-name = "USB Power";
+ +			regulator-min-microvolt = <5000000>;
+ +			regulator-max-microvolt = <5000000>;
+ +			enable-active-high;
+ +			regulator-always-on;
+ +			regulator-boot-on;
+ +		};
+ +
+ +		hdd_power: regulator at 2 {
+ +			compatible = "regulator-fixed";
+ +			reg = <2>;
+ +			regulator-name = "HDD Power";
+ +			regulator-min-microvolt = <5000000>;
+ +			regulator-max-microvolt = <5000000>;
+ +			enable-active-high;
+ +			regulator-always-on;
+ +			regulator-boot-on;
+ +		};
+ +	};
+ +};
+ +
+ +&pinctrl {
+ +	pmx_power_hdd: pmx-power-hdd {
+ +		marvell,function = "gpio";
+ +	};
+ +
+ +	pmx_power_usb: pmx-power-usb {
+ +		marvell,function = "gpio";
+ +	};
+ +};
+ +
+ +&devbus_bootcs {
+ +	status = "okay";
+ +	devbus,keep-config;
+ +
+ +	flash at 0 {
+ +		compatible = "jedec-flash";
+ +		reg = <0 0x40000>;
+ +		bank-width = <1>;
+ +
+ +		partitions {
+ +			compatible = "fixed-partitions";
+ +			#address-cells = <1>;
+ +			#size-cells = <1>;
+ +
+ +			header at 0 {
+ +				reg = <0 0x30000>;
+ +				read-only;
+ +			};
+ +
+ +			uboot at 30000 {
+ +				reg = <0x30000 0xF000>;
+ +				read-only;
+ +			};
+ +
+ +			uboot_env at 3F000 {
+ +				reg = <0x3F000 0x1000>;
+ +			};
+ +		};
+ +	};
+ +};
+ +
+ +&mdio {
+ +	status = "okay";
+ +
+ +	ethphy: ethernet-phy {
+ +		reg = <8>;
+ +	};
+ +};
+ +
+ +&eth {
+ +	status = "okay";
+ +
+ +	ethernet-port at 0 {
+ +		phy-handle = <&ethphy>;
+ +	};
+ +};
+ +
+ +&ehci0 {
+ +	status = "okay";
+ +};
+ +
+ +&i2c {
+ +	status = "okay";
+ +
+ +	rtc {
+ +		compatible = "ricoh,rs5c372a";
+ +		reg = <0x32>;
+ +	};
+ +};
+ +
+ +&wdt {
+ +	status = "disabled";
+ +};
+ +
+ +&sata {
+ +	status = "okay";
+ +	nr-ports = <1>;
+ +};
+ +
+ +&uart0 {
+ +	status = "okay";
+ +};
+ +
+ +&uart1 {
+ +	status = "okay";
+ +};
diff --cc debian/patches/series
index eff715d,26e324b..3b19741
--- a/debian/patches/series
+++ b/debian/patches/series
@@@ -49,7 -50,52 +49,14 @@@ features/mips/MIPS-Loongson-3-Add-Loong
  features/mips/MIPS-octeon-Add-support-for-the-UBNT-E200-board.patch
  features/x86/x86-memtest-WARN-if-bad-RAM-found.patch
  features/x86/x86-make-x32-syscall-support-conditional.patch
 -features/arm/rpi/pwm-bcm2835-calculate-scaler-in-config.patch
 -features/arm/rpi/pwm-bcm2835-prevent-division-by-zero.patch
 -features/arm/rpi/pwm-bcm2835-fix-email-address-specification.patch
 -features/arm/rpi/drm-create-a-driver-hook-for-allocating-gem-object-s.patch
 -features/arm/rpi/drm-vc4-add-a-bo-cache.patch
 -features/arm/rpi/drm-vc4-add-create-and-map-bo-ioctls.patch
 -features/arm/rpi/drm-vc4-add-an-api-for-creating-gpu-shaders-in-gem-b.patch
 -features/arm/rpi/drm-vc4-fix-a-typo-in-a-v3d-debug-register.patch
 -features/arm/rpi/drm-vc4-bind-and-initialize-the-v3d-engine.patch
 -features/arm/rpi/drm-vc4-add-support-for-drawing-3d-frames.patch
 -features/arm/rpi/drm-vc4-add-support-for-async-pageflips.patch
 -features/arm/rpi/drm-vc4-add-an-interface-for-capturing-the-gpu-state.patch
 -features/arm/rpi/drm-vc4-copy_to_user-returns-the-number-of-bytes-rem.patch
 -features/arm/rpi/drm-vc4-allocate-enough-memory-in-vc4_save_hang_stat.patch
 -features/arm/rpi/drm-vc4-fix-an-error-code.patch
 -features/arm/rpi/dt-bindings-add-root-properties-for-raspberry-pi-2.patch
 -features/arm/rpi/arm-bcm2835-add-a-compat-string-for-bcm2836-machine-.patch
 -features/arm/rpi/arm-bcm2835-add-kconfig-support-for-bcm2836.patch
 -features/arm/rpi/arm-bcm2835-define-two-new-packets-from-the-latest-f.patch
 -features/arm/rpi/dt-bindings-add-rpi-power-domain-driver-bindings.patch
 -features/arm/rpi/arm-bcm2835-add-rpi-power-domain-driver.patch
 -features/arm/rpi/arm-bcm2835-split-the-dt-for-peripherals-from-the-dt.patch
 -features/arm/rpi/arm-bcm2835-move-the-cpu-peripheral-include-out-of-c.patch
 -features/arm/rpi/arm-bcm2835-add-devicetree-for-bcm2836-and-raspberry.patch
 -features/arm/rpi/arm-bcm2835-add-the-auxiliary-clocks-to-the-device-t.patch
  features/sparc/hwrng-n2-attach-on-t5-m5-t7-m7-sparc-cpus.patch
 -features/arm/arm-orion-move-watchdog-setup-to-mach-orion5x.patch
 -features/arm/arm-orion-always-use-multi_irq_handler.patch
 -features/arm/arm-orion-use-sparse_irq-everywhere.patch
 -features/arm/arm-orion5x-clean-up-mach-.h-headers.patch
 -features/arm/arm-orion5x-multiplatform-support.patch
+ features/arm/device-tree/ARM-dts-imx6dlq-wandboard-revb1.dts-use-unique-model-id.patch
 -features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wvl-vl.patch
 -features/arm/device-tree/ARM-dts-kirkwood-gpio-pin-fixes-for-linkstation-ls-wxl-ws.patch
 -features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wxl-w.patch
 -features/arm/device-tree/ARM-dts-kirkwood-gpio-leds-fixes-for-linkstation-ls-wvl-v.patch
 -features/arm/device-tree/ARM-dts-orion5x-gpio-pin-fixes-for-linkstation-lswtgl.patch
 -features/arm/device-tree/ARM-dts-orion5x-fix-missing-mtdflash-linkstation-lswtgl.patch
+ features/arm/device-tree/ARM-dts-kirkwood-relicense-dts-of-ls-wvl-vl-and-ls-wxl-ws.patch
+ features/arm/device-tree/ARM-dts-kirkwood-split-lswxl-dts-to-linkstation-lswsxl-an.patch
+ features/arm/device-tree/ARM-dts-kirkwood-split-lswvl-dts-to-linkstation-lsvl-and-.patch
+ features/arm/device-tree/ARM-dts-kirkwood-add-for-buffalo-linkstation-ls-qvl.patch
+ features/arm/device-tree/ARM-dts-orion5x-split-linkstation-lswtgl-into-common-and-.patch
+ features/arm/device-tree/ARM-dts-orion5x-add-for-buffalo-linkstation-ls-gl.patch
 -features/arm/novena/ARM-dts-imx6q-add-Novena-board.patch
 -features/arm/novena/ARM-dts-imx6q-clean-up-unused-ipu2grp.patch
  
  # Miscellaneous bug fixes
  bugfix/all/misc-bmp085-Enable-building-as-a-module.patch
@@@ -74,5 -124,14 +81,7 @@@ bugfix/x86/x86-efi-hoist-page-table-swi
  bugfix/x86/x86-efi-build-our-own-page-table-structures.patch
  bugfix/x86/x86-efi-setup-separate-efi-page-tables-in-kexec-path.patch
  debian/i386-686-pae-pci-set-pci-nobios-by-default.patch
 -bugfix/arm/net-mv643xx_eth-fix-packet-corruption-with-tso-and-t.patch
  bugfix/x86/x86-efi-bgrt-fix-kernel-panic-when-mapping-bgrt-data.patch
  bugfix/x86/x86-efi-bgrt-replace-early_memremap-with-memremap.patch
+ bugfix/all/uas-fix-high-order-alloc.patch
 -debian/revert-cgroup-make-sure-a-parent-css-isn-t-offlined.patch
 -debian/thermal-fix-abi-change-in-4.4.4.patch
 -debian/ipv4-fix-abi-change-in-4.4.4.patch
 -debian/ipv6-fix-abi-change-in-4.4.4.patch
+ bugfix/all/revert-drm-radeon-call-hpd_irq_event-on-resume.patch
 -bugfix/powerpc/powerpc-simplify-module-toc-handling.patch
 -bugfix/powerpc/powerpc-fix-dedotify-for-binutils-2.26.patch

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/kernel/linux.git



More information about the Kernel-svn-changes mailing list