Re: [PATCH v4 3/5] staging: Introduce NVIDIA Tegra video decoder driver
On 11.11.2017 17:06, Vladimir Zapolskiy wrote: > Hi Dmitry, > > I'll add just a couple of minor comments, in general the code looks > very good. > Thank you very much for the review! > On 10/20/2017 12:34 AM, Dmitry Osipenko wrote: >> NVIDIA Tegra20/30/114/124/132 SoC's have video decoder engine that >> supports standard set of video formats like H.264 / MPEG-4 / WMV / VC1. >> Currently implemented decoding of CAVLC H.264 on Tegra20 only. >> >> Signed-off-by: Dmitry Osipenko > > [snip] > >> +++ b/drivers/staging/tegra-vde/uapi.h >> @@ -0,0 +1,101 @@ >> +/* >> + * Copyright (C) 2016-2017 Dmitry Osipenko >> + * All Rights Reserved. >> + * >> + * 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 (including the next >> + * paragraph) shall be included in all copies or substantial portions of the >> + * Software. >> + * >> + * THE SOFTWARE IS PROVIDED "AS IS", 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 >> + * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS 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. > > From the specified MODULE_LICENSE("GPL") I'd rather expect to see a reference > to GPLv2+ license in the header, and here the text resembles MIT license only. > > I understand that it is a UAPI header file and it may happen that different > rules are applied to this kind of sources, hopefully Greg can give the right > directions. Indeed, probably I copied the license text from some other UAPI header without putting much thought. Will change it to GPL, thanks. > > In general you may avoid the headache with the custom UAPI, if you reuse > V4L2 interfaces, if I remember correctly drivers/media/platform/coda does it. > Also from my point of view the custom UAPI is the only reason why the driver > is pushed to the staging folder. Thanks for the pointer. I see that coda driver does some raw bitstream parsing in the driver, which is a bit icky, but probably is a good enough variant. I'll take a closer look at implementing V4L interface at some point later, meanwhile custom UAPI + VDPAU userspace serves us pretty well. > > [snip] > >> +struct tegra_vde { >> +void __iomem *sxe; >> +void __iomem *bsev; >> +void __iomem *mbe; >> +void __iomem *ppe; >> +void __iomem *mce; >> +void __iomem *tfe; >> +void __iomem *ppb; >> +void __iomem *vdma; >> +void __iomem *frameid; > > Please find a comment in tegra_vde_probe() function regarding > devm_ioremap_resource() calls. > >> +struct mutex lock; >> +struct miscdevice miscdev; >> +struct reset_control *rst; >> +struct gen_pool *iram_pool; >> +struct completion decode_completion; >> +struct clk *clk; >> +dma_addr_t iram_lists_addr; >> +u32 *iram; >> +}; > > [snip] > >> +static int tegra_vde_wait_bsev(struct tegra_vde *vde, bool wait_dma) >> +{ >> +struct device *dev = vde->miscdev.parent; >> +u32 value; >> +int err; >> + >> +err = readl_relaxed_poll_timeout(vde->bsev + INTR_STATUS, value, >> + !(value & BIT(2)), 1, 100); >> +if (err) { >> +dev_err(dev, "BSEV unknown bit timeout\n"); >> +return err; >> +} >> + >> +err = readl_relaxed_poll_timeout(vde->bsev + INTR_STATUS, value, >> + (value & BSE_ICMDQUE_EMPTY), 1, 100); >> +if (err) { >> +dev_err(dev, "BSEV ICMDQUE flush timeout\n"); >> +return err; >> +} >> + >> +if (!wait_dma) >> +return 0; >> + >> +err = readl_relaxed_poll_timeout(vde->bsev + INTR_STATUS, value, >> + !(value & BSE_DMA_BUSY), 1, 100); >> +if (err) { >> +dev_err(dev, "BSEV DMA timeout\n"); >> +return err; >> +} >> + >> +return 0; > > if (err) > dev_err(dev, "BSEV DMA timeout\n"); > > return err; > > is two lines shorter. > Thanks for the suggestion. I think that consistency in the code is a bit more preferable, so I'd prefer to stick with the original variant here. >> +} >> + > > [snip] > >> +static int tegra_vde_attach_dmabufs_to_frame(struct device *dev, >> +
Re: [PATCH v4 2/5] media: dt: bindings: Add binding for NVIDIA Tegra Video Decoder Engine
On 11.11.2017 17:21, Vladimir Zapolskiy wrote: > Hi Dmitry, > > On 10/20/2017 12:34 AM, Dmitry Osipenko wrote: >> Add binding documentation for the Video Decoder Engine which is found >> on NVIDIA Tegra20/30/114/124/132 SoC's. >> >> Signed-off-by: Dmitry Osipenko >> --- >> .../devicetree/bindings/media/nvidia,tegra-vde.txt | 55 >> ++ >> 1 file changed, 55 insertions(+) >> create mode 100644 >> Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt >> >> diff --git a/Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt >> b/Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt >> new file mode 100644 >> index ..470237ed6fe5 >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/media/nvidia,tegra-vde.txt >> @@ -0,0 +1,55 @@ >> +NVIDIA Tegra Video Decoder Engine >> + >> +Required properties: >> +- compatible : Must contain one of the following values: >> + - "nvidia,tegra20-vde" >> + - "nvidia,tegra30-vde" >> + - "nvidia,tegra114-vde" >> + - "nvidia,tegra124-vde" >> + - "nvidia,tegra132-vde" >> +- reg : Must contain an entry for each entry in reg-names. >> +- reg-names : Must include the following entries: >> + - sxe >> + - bsev >> + - mbe >> + - ppe >> + - mce >> + - tfe >> + - ppb >> + - vdma >> + - frameid > > I've already mentioned it in my review of the driver code, but the > version from v3 with a single region is more preferable. > > Also it implies that "reg-names" property will be removed. > Please see my reply to the drivers code review. >> +- iram : Must contain phandle to the mmio-sram device node that represents >> + IRAM region used by VDE. >> +- interrupts : Must contain an entry for each entry in interrupt-names. >> +- interrupt-names : Must include the following entries: >> + - sync-token >> + - bsev >> + - sxe >> +- clocks : Must include the following entries: >> + - vde >> +- resets : Must include the following entries: >> + - vde >> + >> +Example: >> + >> +video-codec@6001a000 { >> +compatible = "nvidia,tegra20-vde"; >> +reg = <0x6001a000 0x1000 /* Syntax Engine */ >> + 0x6001b000 0x1000 /* Video Bitstream Engine */ >> + 0x6001c000 0x100 /* Macroblock Engine */ >> + 0x6001c200 0x100 /* Post-processing Engine */ >> + 0x6001c400 0x100 /* Motion Compensation Engine */ >> + 0x6001c600 0x100 /* Transform Engine */ >> + 0x6001c800 0x100 /* Pixel prediction block */ >> + 0x6001ca00 0x100 /* Video DMA */ >> + 0x6001d800 0x300 /* Video frame controls */>; >> +reg-names = "sxe", "bsev", "mbe", "ppe", "mce", >> +"tfe", "ppb", "vdma", "frameid"; >> +iram = <&vde_pool>; /* IRAM region */ >> +interrupts = , /* Sync token interrupt >> */ >> + , /* BSE-V interrupt */ >> + ; /* SXE interrupt */ >> +interrupt-names = "sync-token", "bsev", "sxe"; >> +clocks = <&tegra_car TEGRA20_CLK_VDE>; >> +resets = <&tegra_car 61>; >> +}; >> ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH v4 1/5] ARM: tegra: Add device tree node to describe IRAM
On 11.11.2017 17:18, Vladimir Zapolskiy wrote: > Hi Dmitry, > > On 10/20/2017 12:34 AM, Dmitry Osipenko wrote: >> From: Vladimir Zapolskiy >> >> All Tegra SoCs contain 256KiB IRAM, which is used to store CPU resume code >> and by hardware engines like a video decoder. >> >> Signed-off-by: Vladimir Zapolskiy > > Please add also your own closing "Signed-off-by" tag, please reference > to "Developer's Certificate of Origin 1.1", point (c), it is found in > Documentation/process/submitting-patches.rst > Indeed, thanks! >> --- >> arch/arm/boot/dts/tegra114.dtsi | 8 >> arch/arm/boot/dts/tegra124.dtsi | 8 >> arch/arm/boot/dts/tegra20.dtsi | 8 >> arch/arm/boot/dts/tegra30.dtsi | 8 > > My assumption is that Thierry would prefer to get 4 separate patches, > one for each platform, please split the patch. > Thierry, would you? > Also thanks for your time and your efforts applied to push my occasional > change, please feel free to take your own authorship for 3 out of 4 patches. > Okay. >> 4 files changed, 32 insertions(+) >> >> diff --git a/arch/arm/boot/dts/tegra114.dtsi >> b/arch/arm/boot/dts/tegra114.dtsi >> index 8932ea3afd5f..13f6087790c8 100644 >> --- a/arch/arm/boot/dts/tegra114.dtsi >> +++ b/arch/arm/boot/dts/tegra114.dtsi >> @@ -10,6 +10,14 @@ >> compatible = "nvidia,tegra114"; >> interrupt-parent = <&lic>; >> >> +iram@4000 { >> +compatible = "mmio-sram"; > > Unfortunately Thierry hasn't yet replied, but my assumption is that > the list of compatibles should be extended with one more SoC specific > value like > > compatible = "nvidia,tegra114-sysram", "mmio-sram"; > > I'm not sure, if Tegra maintainers want to see a new compatible > described in Documentation/devicetree/bindings. > The custom compatible string shouldn't be needed. AFAIK, IRAM doesn't have any exposed controls, so just a generic "mmio-sram" suits well here. >> +reg = <0x4000 0x4>; >> +#address-cells = <1>; >> +#size-cells = <1>; >> +ranges = <0 0x4000 0x4>; >> +}; >> + >> host1x@5000 { >> compatible = "nvidia,tegra114-host1x", "simple-bus"; >> reg = <0x5000 0x00028000>; >> diff --git a/arch/arm/boot/dts/tegra124.dtsi >> b/arch/arm/boot/dts/tegra124.dtsi >> index 8baf00b89efb..a3585ed82646 100644 >> --- a/arch/arm/boot/dts/tegra124.dtsi >> +++ b/arch/arm/boot/dts/tegra124.dtsi > > The considerations from above are applicable to the rest of > the touched platforms. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] staging: pi433: Fixed coding style issues with braces
Removed a few new lines after enum and struct names because of the following bracket. Signed-off-by: Luca Söthe --- drivers/staging/pi433/pi433_if.h | 3 +-- drivers/staging/pi433/rf69_enum.h | 57 +-- 2 files changed, 20 insertions(+), 40 deletions(-) diff --git a/drivers/staging/pi433/pi433_if.h b/drivers/staging/pi433/pi433_if.h index e6ed3cd..fc842c48 100644 --- a/drivers/staging/pi433/pi433_if.h +++ b/drivers/staging/pi433/pi433_if.h @@ -58,8 +58,7 @@ * NOTE: struct layout is the same in 64bit and 32bit userspace. */ #define PI433_TX_CFG_IOCTL_NR 0 -struct pi433_tx_cfg -{ +struct pi433_tx_cfg { __u32 frequency; __u16 bit_rate; __u32 dev_frequency; diff --git a/drivers/staging/pi433/rf69_enum.h b/drivers/staging/pi433/rf69_enum.h index fbfb59b..86429aa 100644 --- a/drivers/staging/pi433/rf69_enum.h +++ b/drivers/staging/pi433/rf69_enum.h @@ -18,14 +18,12 @@ #ifndef RF69_ENUM_H #define RF69_ENUM_H -enum optionOnOff -{ +enum optionOnOff { optionOff, optionOn }; -enum mode -{ +enum mode { mode_sleep, standby, synthesizer, @@ -33,21 +31,18 @@ enum mode receive }; -enum dataMode -{ +enum dataMode { packet, continuous, continuousNoSync }; -enum modulation -{ +enum modulation { OOK, FSK }; -enum modShaping -{ +enum modShaping { shapingOff, shaping1_0, shaping0_5, @@ -56,8 +51,7 @@ enum modShaping shaping2BR }; -enum paRamp -{ +enum paRamp { ramp3400, ramp2000, ramp1000, @@ -76,14 +70,12 @@ enum paRamp ramp10 }; -enum antennaImpedance -{ +enum antennaImpedance { fiftyOhm, twohundretOhm }; -enum lnaGain -{ +enum lnaGain { automatic, max, maxMinus6, @@ -94,8 +86,7 @@ enum lnaGain undefined }; -enum dccPercent -{ +enum dccPercent { dcc16Percent, dcc8Percent, dcc4Percent, @@ -106,22 +97,19 @@ enum dccPercent dcc0_125Percent }; -enum mantisse -{ +enum mantisse { mantisse16, mantisse20, mantisse24 }; -enum thresholdType -{ +enum thresholdType { fixed, peak, average }; -enum thresholdStep -{ +enum thresholdStep { step_0_5db, step_1_0db, step_1_5db, @@ -132,8 +120,7 @@ enum thresholdStep step_6_0db }; -enum thresholdDecrement -{ +enum thresholdDecrement { dec_every8th, dec_every4th, dec_every2nd, @@ -144,8 +131,7 @@ enum thresholdDecrement dec_16times }; -enum flag -{ +enum flag { modeSwitchCompleted, readyToReceive, readyToSend, @@ -165,33 +151,28 @@ enum flag batteryLow }; -enum fifoFillCondition -{ +enum fifoFillCondition { afterSyncInterrupt, always }; -enum packetFormat -{ +enum packetFormat { packetLengthFix, packetLengthVar }; -enum txStartCondition -{ +enum txStartCondition { fifoLevel, fifoNotEmpty }; -enum addressFiltering -{ +enum addressFiltering { filteringOff, nodeAddress, nodeOrBroadcastAddress }; -enum dagc -{ +enum dagc { normalMode, improve, improve4LowModulationIndex -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH net-next 0/2] retire IPX and Netware file system
Netware has bee dead for years. Time to deprecate IPX and the Novell file system. Stephen Hemminger (2): ipx: move Novell IPX protocol support into staging ncpfs: move net/ncpfs to drivers/staging/ncpfs MAINTAINERS| 5 ++--- drivers/staging/Kconfig| 4 drivers/staging/Makefile | 2 ++ {net => drivers/staging}/ipx/Kconfig | 0 {net => drivers/staging}/ipx/Makefile | 0 {net => drivers/staging}/ipx/af_ipx.c | 0 {net => drivers/staging}/ipx/ipx_proc.c| 0 {net => drivers/staging}/ipx/ipx_route.c | 0 {net => drivers/staging}/ipx/pe2.c | 0 {net => drivers/staging}/ipx/sysctl_net_ipx.c | 0 {fs => drivers/staging}/ncpfs/Kconfig | 0 {fs => drivers/staging}/ncpfs/Makefile | 0 {fs => drivers/staging}/ncpfs/dir.c| 0 {fs => drivers/staging}/ncpfs/file.c | 0 {fs => drivers/staging}/ncpfs/getopt.c | 0 {fs => drivers/staging}/ncpfs/getopt.h | 0 {fs => drivers/staging}/ncpfs/inode.c | 0 {fs => drivers/staging}/ncpfs/ioctl.c | 0 {fs => drivers/staging}/ncpfs/mmap.c | 0 {fs => drivers/staging}/ncpfs/ncp_fs.h | 0 {fs => drivers/staging}/ncpfs/ncp_fs_i.h | 0 {fs => drivers/staging}/ncpfs/ncp_fs_sb.h | 0 {fs => drivers/staging}/ncpfs/ncplib_kernel.c | 0 {fs => drivers/staging}/ncpfs/ncplib_kernel.h | 0 {fs => drivers/staging}/ncpfs/ncpsign_kernel.c | 0 {fs => drivers/staging}/ncpfs/ncpsign_kernel.h | 0 {fs => drivers/staging}/ncpfs/sock.c | 0 {fs => drivers/staging}/ncpfs/symlink.c| 0 fs/Kconfig | 1 - fs/Makefile| 1 - net/Kconfig| 1 - net/Makefile | 1 - 32 files changed, 8 insertions(+), 7 deletions(-) rename {net => drivers/staging}/ipx/Kconfig (100%) rename {net => drivers/staging}/ipx/Makefile (100%) rename {net => drivers/staging}/ipx/af_ipx.c (100%) rename {net => drivers/staging}/ipx/ipx_proc.c (100%) rename {net => drivers/staging}/ipx/ipx_route.c (100%) rename {net => drivers/staging}/ipx/pe2.c (100%) rename {net => drivers/staging}/ipx/sysctl_net_ipx.c (100%) rename {fs => drivers/staging}/ncpfs/Kconfig (100%) rename {fs => drivers/staging}/ncpfs/Makefile (100%) rename {fs => drivers/staging}/ncpfs/dir.c (100%) rename {fs => drivers/staging}/ncpfs/file.c (100%) rename {fs => drivers/staging}/ncpfs/getopt.c (100%) rename {fs => drivers/staging}/ncpfs/getopt.h (100%) rename {fs => drivers/staging}/ncpfs/inode.c (100%) rename {fs => drivers/staging}/ncpfs/ioctl.c (100%) rename {fs => drivers/staging}/ncpfs/mmap.c (100%) rename {fs => drivers/staging}/ncpfs/ncp_fs.h (100%) rename {fs => drivers/staging}/ncpfs/ncp_fs_i.h (100%) rename {fs => drivers/staging}/ncpfs/ncp_fs_sb.h (100%) rename {fs => drivers/staging}/ncpfs/ncplib_kernel.c (100%) rename {fs => drivers/staging}/ncpfs/ncplib_kernel.h (100%) rename {fs => drivers/staging}/ncpfs/ncpsign_kernel.c (100%) rename {fs => drivers/staging}/ncpfs/ncpsign_kernel.h (100%) rename {fs => drivers/staging}/ncpfs/sock.c (100%) rename {fs => drivers/staging}/ncpfs/symlink.c (100%) -- 2.11.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH net-next 2/2] ncpfs: move net/ncpfs to drivers/staging/ncpfs
The Netware Core Protocol is a file system that talks to Netware clients over IPX. Since IPX has been dead for many years move the file system into staging for eventual interment. Signed-off-by: Stephen Hemminger --- MAINTAINERS| 2 +- drivers/staging/Kconfig| 2 ++ drivers/staging/Makefile | 1 + {fs => drivers/staging}/ncpfs/Kconfig | 0 {fs => drivers/staging}/ncpfs/Makefile | 0 {fs => drivers/staging}/ncpfs/dir.c| 0 {fs => drivers/staging}/ncpfs/file.c | 0 {fs => drivers/staging}/ncpfs/getopt.c | 0 {fs => drivers/staging}/ncpfs/getopt.h | 0 {fs => drivers/staging}/ncpfs/inode.c | 0 {fs => drivers/staging}/ncpfs/ioctl.c | 0 {fs => drivers/staging}/ncpfs/mmap.c | 0 {fs => drivers/staging}/ncpfs/ncp_fs.h | 0 {fs => drivers/staging}/ncpfs/ncp_fs_i.h | 0 {fs => drivers/staging}/ncpfs/ncp_fs_sb.h | 0 {fs => drivers/staging}/ncpfs/ncplib_kernel.c | 0 {fs => drivers/staging}/ncpfs/ncplib_kernel.h | 0 {fs => drivers/staging}/ncpfs/ncpsign_kernel.c | 0 {fs => drivers/staging}/ncpfs/ncpsign_kernel.h | 0 {fs => drivers/staging}/ncpfs/sock.c | 0 {fs => drivers/staging}/ncpfs/symlink.c| 0 fs/Kconfig | 1 - fs/Makefile| 1 - 23 files changed, 4 insertions(+), 3 deletions(-) rename {fs => drivers/staging}/ncpfs/Kconfig (100%) rename {fs => drivers/staging}/ncpfs/Makefile (100%) rename {fs => drivers/staging}/ncpfs/dir.c (100%) rename {fs => drivers/staging}/ncpfs/file.c (100%) rename {fs => drivers/staging}/ncpfs/getopt.c (100%) rename {fs => drivers/staging}/ncpfs/getopt.h (100%) rename {fs => drivers/staging}/ncpfs/inode.c (100%) rename {fs => drivers/staging}/ncpfs/ioctl.c (100%) rename {fs => drivers/staging}/ncpfs/mmap.c (100%) rename {fs => drivers/staging}/ncpfs/ncp_fs.h (100%) rename {fs => drivers/staging}/ncpfs/ncp_fs_i.h (100%) rename {fs => drivers/staging}/ncpfs/ncp_fs_sb.h (100%) rename {fs => drivers/staging}/ncpfs/ncplib_kernel.c (100%) rename {fs => drivers/staging}/ncpfs/ncplib_kernel.h (100%) rename {fs => drivers/staging}/ncpfs/ncpsign_kernel.c (100%) rename {fs => drivers/staging}/ncpfs/ncpsign_kernel.h (100%) rename {fs => drivers/staging}/ncpfs/sock.c (100%) rename {fs => drivers/staging}/ncpfs/symlink.c (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 54c29ebcec55..5ed623ad5717 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -9276,7 +9276,7 @@ F:drivers/net/ethernet/natsemi/natsemi.c NCP FILESYSTEM M: Petr Vandrovec S: Odd Fixes -F: fs/ncpfs/ +F: drivers/staging/ncpfs/ NCR 5380 SCSI DRIVERS M: Finn Thain diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 3744640bed5a..e95ab683331e 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -28,6 +28,8 @@ source "drivers/staging/irda/net/Kconfig" source "drivers/staging/ipx/Kconfig" +source "drivers/staging/ncpfs/Kconfig" + source "drivers/staging/wlan-ng/Kconfig" source "drivers/staging/comedi/Kconfig" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index f4c0506470ff..af8cd6a3a1f6 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -4,6 +4,7 @@ obj-y += media/ obj-y += typec/ obj-$(CONFIG_IPX) += ipx/ +obj-$(CONFIG_NCP_FS) += ncpfs/ obj-$(CONFIG_IRDA) += irda/net/ obj-$(CONFIG_IRDA) += irda/drivers/ obj-$(CONFIG_PRISM2_USB) += wlan-ng/ diff --git a/fs/ncpfs/Kconfig b/drivers/staging/ncpfs/Kconfig similarity index 100% rename from fs/ncpfs/Kconfig rename to drivers/staging/ncpfs/Kconfig diff --git a/fs/ncpfs/Makefile b/drivers/staging/ncpfs/Makefile similarity index 100% rename from fs/ncpfs/Makefile rename to drivers/staging/ncpfs/Makefile diff --git a/fs/ncpfs/dir.c b/drivers/staging/ncpfs/dir.c similarity index 100% rename from fs/ncpfs/dir.c rename to drivers/staging/ncpfs/dir.c diff --git a/fs/ncpfs/file.c b/drivers/staging/ncpfs/file.c similarity index 100% rename from fs/ncpfs/file.c rename to drivers/staging/ncpfs/file.c diff --git a/fs/ncpfs/getopt.c b/drivers/staging/ncpfs/getopt.c similarity index 100% rename from fs/ncpfs/getopt.c rename to drivers/staging/ncpfs/getopt.c diff --git a/fs/ncpfs/getopt.h b/drivers/staging/ncpfs/getopt.h similarity index 100% rename from fs/ncpfs/getopt.h rename to drivers/staging/ncpfs/getopt.h diff --git a/fs/ncpfs/inode.c b/drivers/staging/ncpfs/inode.c similarity index 100% rename from fs/ncpfs/inode.c rename to drivers/staging/ncpfs/inode.c diff --git a/fs/ncpfs/ioctl.c b/drivers/staging/ncpfs/ioctl.c similarity index 100% rename from fs/ncpfs/ioctl.c rename to drivers/staging/ncpfs/ioctl.c diff --git a/fs/ncpfs/mmap.c b/drivers/staging/ncpfs/mmap.c similarity index 100% r
[PATCH net-next 1/2] ipx: move Novell IPX protocol support into staging
The Netware IPX protocol is very old and no one should still be using it. It is time to move it into staging for a while and eventually decommision it. Note: net/ipx.h has to be kept around because bonding is still using it to decode IPX header for LAG. Signed-off-by: Stephen Hemminger --- MAINTAINERS | 3 +-- drivers/staging/Kconfig | 2 ++ drivers/staging/Makefile | 1 + {net => drivers/staging}/ipx/Kconfig | 0 {net => drivers/staging}/ipx/Makefile | 0 {net => drivers/staging}/ipx/af_ipx.c | 0 {net => drivers/staging}/ipx/ipx_proc.c | 0 {net => drivers/staging}/ipx/ipx_route.c | 0 {net => drivers/staging}/ipx/pe2.c| 0 {net => drivers/staging}/ipx/sysctl_net_ipx.c | 0 net/Kconfig | 1 - net/Makefile | 1 - 12 files changed, 4 insertions(+), 4 deletions(-) rename {net => drivers/staging}/ipx/Kconfig (100%) rename {net => drivers/staging}/ipx/Makefile (100%) rename {net => drivers/staging}/ipx/af_ipx.c (100%) rename {net => drivers/staging}/ipx/ipx_proc.c (100%) rename {net => drivers/staging}/ipx/ipx_route.c (100%) rename {net => drivers/staging}/ipx/pe2.c (100%) rename {net => drivers/staging}/ipx/sysctl_net_ipx.c (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 29aa89a1837b..54c29ebcec55 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -7206,9 +7206,8 @@ F:drivers/tty/ipwireless/ IPX NETWORK LAYER L: net...@vger.kernel.org S: Odd fixes -F: include/net/ipx.h F: include/uapi/linux/ipx.h -F: net/ipx/ +F: drivers/staging/ipx/ IRDA SUBSYSTEM M: Samuel Ortiz diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 554683912cff..3744640bed5a 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -26,6 +26,8 @@ if STAGING source "drivers/staging/irda/net/Kconfig" +source "drivers/staging/ipx/Kconfig" + source "drivers/staging/wlan-ng/Kconfig" source "drivers/staging/comedi/Kconfig" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index 6e536020029a..f4c0506470ff 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -3,6 +3,7 @@ obj-y += media/ obj-y += typec/ +obj-$(CONFIG_IPX) += ipx/ obj-$(CONFIG_IRDA) += irda/net/ obj-$(CONFIG_IRDA) += irda/drivers/ obj-$(CONFIG_PRISM2_USB) += wlan-ng/ diff --git a/net/ipx/Kconfig b/drivers/staging/ipx/Kconfig similarity index 100% rename from net/ipx/Kconfig rename to drivers/staging/ipx/Kconfig diff --git a/net/ipx/Makefile b/drivers/staging/ipx/Makefile similarity index 100% rename from net/ipx/Makefile rename to drivers/staging/ipx/Makefile diff --git a/net/ipx/af_ipx.c b/drivers/staging/ipx/af_ipx.c similarity index 100% rename from net/ipx/af_ipx.c rename to drivers/staging/ipx/af_ipx.c diff --git a/net/ipx/ipx_proc.c b/drivers/staging/ipx/ipx_proc.c similarity index 100% rename from net/ipx/ipx_proc.c rename to drivers/staging/ipx/ipx_proc.c diff --git a/net/ipx/ipx_route.c b/drivers/staging/ipx/ipx_route.c similarity index 100% rename from net/ipx/ipx_route.c rename to drivers/staging/ipx/ipx_route.c diff --git a/net/ipx/pe2.c b/drivers/staging/ipx/pe2.c similarity index 100% rename from net/ipx/pe2.c rename to drivers/staging/ipx/pe2.c diff --git a/net/ipx/sysctl_net_ipx.c b/drivers/staging/ipx/sysctl_net_ipx.c similarity index 100% rename from net/ipx/sysctl_net_ipx.c rename to drivers/staging/ipx/sysctl_net_ipx.c diff --git a/net/Kconfig b/net/Kconfig index 9dba2715919d..ff71ba0f6c27 100644 --- a/net/Kconfig +++ b/net/Kconfig @@ -212,7 +212,6 @@ source "net/dsa/Kconfig" source "net/8021q/Kconfig" source "net/decnet/Kconfig" source "net/llc/Kconfig" -source "net/ipx/Kconfig" source "drivers/net/appletalk/Kconfig" source "net/x25/Kconfig" source "net/lapb/Kconfig" diff --git a/net/Makefile b/net/Makefile index 14fede520840..a6147c61b174 100644 --- a/net/Makefile +++ b/net/Makefile @@ -24,7 +24,6 @@ obj-$(CONFIG_PACKET) += packet/ obj-$(CONFIG_NET_KEY) += key/ obj-$(CONFIG_BRIDGE) += bridge/ obj-$(CONFIG_NET_DSA) += dsa/ -obj-$(CONFIG_IPX) += ipx/ obj-$(CONFIG_ATALK)+= appletalk/ obj-$(CONFIG_X25) += x25/ obj-$(CONFIG_LAPB) += lapb/ -- 2.11.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH net-next] decnet: move to staging
Support for Decnet has been orphaned for many years. In the interest of reducing the potential bug surface and pre-holiday cleaning, move the decnet protocol into staging for eventual removal. Signed-off-by: Stephen Hemminger --- MAINTAINERS | 2 +- drivers/staging/Kconfig | 5 + drivers/staging/Makefile | 1 + {net => drivers/staging}/decnet/Kconfig | 0 {net => drivers/staging}/decnet/Makefile | 0 {net => drivers/staging}/decnet/README | 0 {net => drivers/staging}/decnet/TODO | 0 {net => drivers/staging}/decnet/af_decnet.c | 0 {net => drivers/staging}/decnet/dn_dev.c | 0 {net => drivers/staging}/decnet/dn_fib.c | 0 {net => drivers/staging}/decnet/dn_neigh.c | 0 {net => drivers/staging}/decnet/dn_nsp_in.c | 0 {net => drivers/staging}/decnet/dn_nsp_out.c | 0 {net => drivers/staging}/decnet/dn_route.c | 0 {net => drivers/staging}/decnet/dn_rules.c | 0 {net => drivers/staging}/decnet/dn_table.c | 0 {net => drivers/staging}/decnet/dn_timer.c | 0 {net => drivers/staging}/decnet/netfilter/Kconfig| 0 {net => drivers/staging}/decnet/netfilter/Makefile | 0 {net => drivers/staging}/decnet/netfilter/dn_rtmsg.c | 0 {net => drivers/staging}/decnet/sysctl_net_decnet.c | 0 net/Kconfig | 2 -- net/Makefile | 1 - 23 files changed, 7 insertions(+), 4 deletions(-) rename {net => drivers/staging}/decnet/Kconfig (100%) rename {net => drivers/staging}/decnet/Makefile (100%) rename {net => drivers/staging}/decnet/README (100%) rename {net => drivers/staging}/decnet/TODO (100%) rename {net => drivers/staging}/decnet/af_decnet.c (100%) rename {net => drivers/staging}/decnet/dn_dev.c (100%) rename {net => drivers/staging}/decnet/dn_fib.c (100%) rename {net => drivers/staging}/decnet/dn_neigh.c (100%) rename {net => drivers/staging}/decnet/dn_nsp_in.c (100%) rename {net => drivers/staging}/decnet/dn_nsp_out.c (100%) rename {net => drivers/staging}/decnet/dn_route.c (100%) rename {net => drivers/staging}/decnet/dn_rules.c (100%) rename {net => drivers/staging}/decnet/dn_table.c (100%) rename {net => drivers/staging}/decnet/dn_timer.c (100%) rename {net => drivers/staging}/decnet/netfilter/Kconfig (100%) rename {net => drivers/staging}/decnet/netfilter/Makefile (100%) rename {net => drivers/staging}/decnet/netfilter/dn_rtmsg.c (100%) rename {net => drivers/staging}/decnet/sysctl_net_decnet.c (100%) diff --git a/MAINTAINERS b/MAINTAINERS index 29aa89a1837b..66e2d302d9eb 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3968,7 +3968,7 @@ W:http://linux-decnet.sourceforge.net L: linux-decnet-u...@lists.sourceforge.net S: Orphan F: Documentation/networking/decnet.txt -F: net/decnet/ +F: drivers/staging/decnet/ DECSTATION PLATFORM SUPPORT M: "Maciej W. Rozycki" diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 554683912cff..e30af73c3797 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -30,6 +30,11 @@ source "drivers/staging/wlan-ng/Kconfig" source "drivers/staging/comedi/Kconfig" +if NETFILTER +source "drivers/staging/decnet/netfilter/Kconfig" +endif +source "drivers/staging/decnet/Kconfig" + source "drivers/staging/olpc_dcon/Kconfig" source "drivers/staging/rtl8192u/Kconfig" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index 6e536020029a..89655cc80a91 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -7,6 +7,7 @@ obj-$(CONFIG_IRDA) += irda/net/ obj-$(CONFIG_IRDA) += irda/drivers/ obj-$(CONFIG_PRISM2_USB) += wlan-ng/ obj-$(CONFIG_COMEDI) += comedi/ +obj-$(CONFIG_DECNET) += decnet/ obj-$(CONFIG_FB_OLPC_DCON) += olpc_dcon/ obj-$(CONFIG_RTL8192U) += rtl8192u/ obj-$(CONFIG_RTL8192E) += rtl8192e/ diff --git a/net/decnet/Kconfig b/drivers/staging/decnet/Kconfig similarity index 100% rename from net/decnet/Kconfig rename to drivers/staging/decnet/Kconfig diff --git a/net/decnet/Makefile b/drivers/staging/decnet/Makefile similarity index 100% rename from net/decnet/Makefile rename to drivers/staging/decnet/Makefile diff --git a/net/decnet/README b/drivers/staging/decnet/README similarity index 100% rename from net/decnet/README rename to drivers/staging/decnet/README diff --git a/net/decnet/TODO b/drivers/staging/decnet/TODO similarity index 100% rename from net/decnet/TODO rename to drivers/staging/decnet/TODO diff --git a/net/decnet/af_decnet.c b/drivers/staging/decnet/af_decnet.c similarity index 100% rename from net/decnet/af_decnet.c rename to drivers/staging/decnet/af_decnet.c diff --git a/net/decnet/dn_dev.c b/drivers/staging/decnet/dn_dev.c similarity index 10
[PATCH 3/5] staging: speakup: Apply format_template attribute
This serves as human-readable documentation as well as allowing the format_template plugin to complain about any static initializers of this struct member that do not have the same set of printf specifiers. Signed-off-by: Rasmus Villemoes --- drivers/staging/speakup/spk_types.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/staging/speakup/spk_types.h b/drivers/staging/speakup/spk_types.h index c50de6035a9a..156000c0c4d3 100644 --- a/drivers/staging/speakup/spk_types.h +++ b/drivers/staging/speakup/spk_types.h @@ -108,7 +108,7 @@ struct st_var_header { }; struct num_var_t { - char *synth_fmt; + char *synth_fmt __format_template("%d"); int default_val; int low; int high; -- 2.11.0 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
[PATCH] vmbus: unregister device_obj->channels_kset
Fixes: c2e5df616e1a ("vmbus: add per-channel sysfs info") Without the patch, a device can't be thoroughly destroyed, because vmbus_device_register() -> kset_create_and_add() still holds a reference to the hv_device's device.kobj. Signed-off-by: Dexuan Cui Cc: Stephen Hemminger Cc: K. Y. Srinivasan --- The patch is based on char-misc.git's char-misc-next branch. drivers/hv/vmbus_drv.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/hv/vmbus_drv.c b/drivers/hv/vmbus_drv.c index 6a86746..4f3faf5 100644 --- a/drivers/hv/vmbus_drv.c +++ b/drivers/hv/vmbus_drv.c @@ -1378,6 +1378,8 @@ void vmbus_device_unregister(struct hv_device *device_obj) pr_debug("child device %s unregistered\n", dev_name(&device_obj->device)); + kset_unregister(device_obj->channels_kset); + /* * Kick off the process of unregistering the device. * This will call vmbus_remove() and eventually vmbus_device_release() -- 2.7.4 ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH net-next] decnet: move to staging
Sun, Nov 12, 2017 at 09:02:14PM CET, step...@networkplumber.org wrote: >Support for Decnet has been orphaned for many years. >In the interest of reducing the potential bug surface and pre-holiday >cleaning, move the decnet protocol into staging for eventual removal. > >Signed-off-by: Stephen Hemminger Why not just remove it in the same way tokenring was removed in the past? I fear that in staging, this will rot forever for no good reason. ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel
Re: [PATCH net-next] decnet: move to staging
On Mon, Nov 13, 2017 at 07:30:09AM +0100, Jiri Pirko wrote: > Sun, Nov 12, 2017 at 09:02:14PM CET, step...@networkplumber.org wrote: > >Support for Decnet has been orphaned for many years. > >In the interest of reducing the potential bug surface and pre-holiday > >cleaning, move the decnet protocol into staging for eventual removal. > > > >Signed-off-by: Stephen Hemminger > > Why not just remove it in the same way tokenring was removed in the > past? I fear that in staging, this will rot forever for no good reason. No, I will not let it stay around for long :) Stephen, no objection from me for this, but can you add a TODO file much like drivers/staging/irda/TODO has? thanks, greg k-h ___ devel mailing list de...@linuxdriverproject.org http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel