Re: [PATCH v4 3/5] staging: Introduce NVIDIA Tegra video decoder driver

2017-11-12 Thread Dmitry Osipenko
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

2017-11-12 Thread Dmitry Osipenko
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

2017-11-12 Thread Dmitry Osipenko
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

2017-11-12 Thread Luca Söthe
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

2017-11-12 Thread Stephen Hemminger
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

2017-11-12 Thread Stephen Hemminger
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

2017-11-12 Thread Stephen Hemminger
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

2017-11-12 Thread Stephen Hemminger
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

2017-11-12 Thread Rasmus Villemoes
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

2017-11-12 Thread Dexuan Cui

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

2017-11-12 Thread Jiri Pirko
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

2017-11-12 Thread Greg KH
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