Skip to content
Linux kernel variant from Analog Devices; see for details
C C++ Assembly Objective-C Makefile Shell Other
Branch: master
Clone or download
commodo net: phy: adin: const-ify static data
Some bits of static data should have been made const from the start.
This change adds the const qualifier where appropriate.

Reviewed-by: Andrew Lunn <>
Signed-off-by: Alexandru Ardelean <>
Latest commit d7b17f9 Jan 13, 2020
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github .github: add issue template recommending EZ Jul 15, 2019
Documentation hwmon: adm1177: sync with upstream Jan 14, 2020
LICENSES LICENSES: Remove CC-BY-SA-4.0 license text Oct 18, 2018
arch arch: arm64, arm: cn0506: add license + project tags Jan 15, 2020
block block: don't deal with discard limit in blkdev_issue_discard() Oct 18, 2018
certs export.h: remove VMLINUX_SYMBOL() and VMLINUX_SYMBOL_STR() Aug 22, 2018
ci/travis ci,build: exit early if branch has an open PR Jan 17, 2020
crypto crypto: Merge missed crypto_skcipher_setkeytype API Mar 6, 2019
drivers net: phy: adin: const-ify static data Jan 17, 2020
firmware Merge tag 'xilinx-v2019.1' into current 'master' Nov 21, 2019
fs fscache: Fix out of bound read in long cookie keys Oct 18, 2018
include iio: adc: ad_sigma_delta: add custom irq flags Jan 9, 2020
init Merge tag 'kbuild-v4.19-2' of git://… Aug 25, 2018
ipc ipc/shm.c: use ERR_CAST() for shm_lock() error return Oct 5, 2018
kernel Merge branch 'sched-urgent-for-linus' of git://… Oct 20, 2018
lib test_ida: Fix lockdep warning Oct 15, 2018
mm Merge tag 'v4.19' into master Jan 9, 2019
net Merge tag 'xilinx-v2019.1' into current 'master' Nov 21, 2019
samples Merge tag 'v4.19' into master Jan 9, 2019
scripts Merge tag 'kbuild-fixes-v4.19-2' of git://… Oct 11, 2018
security Revert "uapi/linux/keyctl.h: don't use C++ reserved keyword as a stru… Sep 25, 2018
sound sound: soc: codecs: add Kconfig to select ADI codecs Dec 18, 2019
tools Merge tag 'xilinx-v2019.1' into current 'master' Nov 21, 2019
usr initramfs: move from scripts/ to usr/ Aug 22, 2018
virt KVM: Remove obsolete kvm_unmap_hva notifier backend Sep 7, 2018
.clang-format clang-format: Set IndentWrappedFunctionNames false Aug 1, 2018
.cocciconfig scripts: add Linux .cocciconfig for coccinelle Jul 22, 2016
.get_maintainer.ignore Add hch to .get_maintainer.ignore Aug 21, 2015
.gitattributes .gitattributes: set git diff driver for C source code files Oct 8, 2016
.gitignore Merge tag 'kbuild-v4.17-2' of git://… Apr 16, 2018
.mailmap Merge tag 'libnvdimm-for-4.19_misc' of… Aug 26, 2018
.travis.yml ci,build: arm: build socfpga device-trees on master Jan 15, 2020
COPYING COPYING: use the new text with points to the license files Mar 23, 2018
CREDITS 9p: remove Ron Minnich from MAINTAINERS Aug 17, 2018
Kbuild Merge tag 'kbuild-v4.15' of git://… Nov 18, 2017
Kconfig kconfig: move the "Executable file formats" menu to fs/Kconfig.binfmt Aug 1, 2018
MAINTAINERS MAINTAINNERS: add entry for LTC6952 driver Dec 19, 2019
Makefile Linux 4.19 Oct 22, 2018
README Docs: Added a pointer to the formatted docs to README Mar 21, 2018 reference wiki for building the kernel Feb 11, 2019

Linux kernel - variant from Analog Devices, Inc.

Table of contents

  1. Description
  2. How to build
  3. Release branches
  4. Rebased branches
  5. Raspberry Pi branches
  6. Intel/Altera branches


The Linux kernel in this repository is the Linux kernel from Xilinx together with drivers & patches applied from Analog Devices.

Details about the drivers that are of interest [and supported] by this repository can be found on the Analog Devices wiki. This readme focuses on details specific to how this code is structured/organized, how it was derived, etc.

For the current master, the last point in git history where things were merged from Xilinx is commit dd100de5395b65494a285a37a74ccceab4f39520. That commit (being a working branched) was merged into master via commit d1873cb62263704a93d904420daf5941f38599b4.

For legacy reasons, the xcomm_zynq branch is still available and should be in-sync with current master. That branch used to be the old master branch.

The current version of upstream Linux that Xilinx merged into their tree is from Linux 4.14. No other patches seem to have been added after this (by Xilinx).

How to build

For build instructions check the wiki.

Release branches

All release branches have the [YEAR]_R[NUM] format. There are some special release branches sometimes (like 2014_R2_altera), because it wasn't always possible to match the Linux repo between Xilinx & Intel/Altera.

Each release is matched with a release from the HDL repo. The branching name/model for the HDL repo differs a bit from the one in this repo, but the matching should be obvious. Therefore, each kernel in the release branches is be built using the toolchains from a specific version of Vivado & Quartus. A matching of these can be found on the wiki. Release branches can be built using other GCC toolchains, but in the official SD-card images provided, they will use the toolchains from Vivado/Quartus.

Rebased branches

Starting with branch adi-4.9.0 there are rebased branches. They're typically rebased branches from Xilinx with the ADI patches on top.

For adi-4.9.0 the base was branch xlnx_rebase_v4.9 at commit d45e196f59364e9f5eafe46027a7d2af349083974 in the ADI repo and commit 45e196f59364e9f5eafe46027a7d2af349083974 in the Xilinx repo. All ADI patches & drivers up to a specific point in time were cherry-picked to that branch from master. Note that since the adi-4.9.0 branch is the first rebased branch, it's not particularly the best rebase that could have been done, but it should provide some patches that are somewhat reasonable to take and apply on top of an upstream 4.9 kernel [after some polishing].

The current master branch has an equivalent adi-4.14.0. The common base/commit for this branch is commit from the xlnx_rebase_v4.14. Note that the same hash is present in the Xilinx. As such, the adi-4.14.0 is an incremental improvement for rebased branches in this repo.

Raspberry Pi branches

These provide a kernel that is good to run on a Raspberry Pi board. Some of the drivers that are developed internally are prototyped on top of this board.

The typical ones are rpi-4.0.y, rpi-4.9.y and rpi-4.14.y. The first 2 are upstream RPi branches merged with the ADI master branch from this repo. The 3rd is a rebased version of upstream rpi-4.14.y at some point in time.

These branches are a bit hard to maintain. They require constant conflict resolution whenever rebasing, so they rarely get updated. As such, rpi-4.14.y will probably be the last RPi branch. The idea is that with the next stable Linux kernel (4.19) support for RPi boards should be good enough in the upstream kernel, so that there won't be a need to keep these special branches.

Intel/Altera branches

Because the kernel versions that Intel/Altera were usually not in sync with Xilinx's, altera-* branches were created. These are altera_4.0, altera_4.4, altera_4.6, altera_4.9.

These branches are derived from the Intel/Altera linux kernel repo, together with some merged versions of old master branches.

The hope is that with the upcoming Linux 4.19, these branches would stop existing, since Intel/Altera seems to keep in sync their kernel version with more recent [non-LTS kernels]. Typically the releases/references that are provided for these boards should already be in the mainline kernel, so these branches should no longer be needed.

You can’t perform that action at this time.