* Re: [PATCH] DSA support for Micrel KSZ8895
From: Andrew Lunn @ 2017-08-27 13:59 UTC (permalink / raw)
To: Pavel Machek
Cc: Woojung.Huh, nathan.leigh.conrad, vivien.didelot, f.fainelli,
netdev, linux-kernel, Tristram.Ha
In-Reply-To: <20170827123658.GA727@amd>
On Sun, Aug 27, 2017 at 02:36:58PM +0200, Pavel Machek wrote:
> Hi!
>
> So I fought with the driver a bit more, and now I have something that
> kind-of-works.
Thanks for keeping on working on this.
> "great great hack" belows worries me.
>
> Yeah, disabled code needs to be removed before merge.
>
> No, tag_ksz part probably is not acceptable. Do you see solution
> better than just copying it into tag_ksz1 file?
>
> Any more comments, etc?
It would help with review if you split this up into multiple patches.
The change to the tagger should be one patch. The mdio emulation would
make a reasonable standalone patch etc.
I will do a more detailed review later.
Andrew
^ permalink raw reply
* Re: [PATCH v2 net-next 1/8] bpf: Add support for recursively running cgroup sock filters
From: David Ahern @ 2017-08-27 14:22 UTC (permalink / raw)
To: Daniel Borkmann, netdev, ast, tj, davem
In-Reply-To: <59A0D62F.3030806@iogearbox.net>
On 8/25/17 8:00 PM, Daniel Borkmann wrote:
> Can you elaborate on the semantical changes for the programs
> setting the new flag which are not using below cgroup_bpf_run_filter_sk()
> helper to walk back to root?
You mean other cgroup based programs -- BPF_CGROUP_* ? If so, any reason
not to allow the recursion model on those too?
^ permalink raw reply
* Re: [PATCH v2 net-next 1/8] bpf: Add support for recursively running cgroup sock filters
From: David Ahern @ 2017-08-27 14:49 UTC (permalink / raw)
To: Alexei Starovoitov; +Cc: netdev, daniel, ast, tj, davem, David Ahern (gmail)
In-Reply-To: <20170826024957.m5ita6usxihywmdd@ast-mbp>
On 8/25/17 8:49 PM, Alexei Starovoitov wrote:
>
>> + if (prog && curr_recursive && !new_recursive)
>> + /* if a parent has recursive prog attached, only
>> + * allow recursive programs in descendent cgroup
>> + */
>> + return -EINVAL;
>> +
>> old_prog = cgrp->bpf.prog[type];
>
> ... I'm struggling to completely understand how it interacts
> with BPF_F_ALLOW_OVERRIDE.
The 2 flags are completely independent. The existing override logic is
unchanged. If a program can not be overridden, then the new recursive
flag is irrelevant.
> By default we shouldn't allow overriding, so if default prog attached
> to a root, what happens if we try to attach F_RECURSIVE to a descendent?
> If I'm reading the code correctly it will not succeed, which is good.
> Could you add such scenario as test to test_cgrp2_attach2.c ?
Patch 7 adds test cases to cover scenarios. I will add more tests per
comments below and rename to convey it tests the recursive flag.
>
> Now say we attach overridable and !recursive to a root, another
> recursive prog will not be attached to a descedent, which is correct.
yes
>
> But if we attach !overridable + recursive to a root we cannot attach
> anything to a descendent right? Then why allow such combination at all?
Sure, we can not allow that combination to prevent the inefficiency of
recursively running through cgroups to run the base program.
> So only overridable + recursive combination makes sense, right?
>
> I think all these combinations must be documented and tests must be
> added. Sooner or later people will build security sensitive environment
> with it and we have to meticulous now.
Intentions below. I'll add more test cases to verify intentions agree
with code.
>
> Do you think it would make sense to split this patch out and
> push patches 2 and 3 with few tests in parallel, while we're review
> this change?
I thought about that but decided no. The 'ip vrf exec' use case would
break right of the gate if the other settings were used.
>
> Tejun needs to take a deep look into this patch as well.
>
This is the intended behavior:
The override flag is independent of the recursive flag. If the override
flag does not allow an override, the attempt to add a new program fails.
The recursive flag brings an additional constraint: once a cgroup has a
program with the recursive flag set it is inherited by all descendant
groups. Attempts to insert a program that changes that flag fails EINVAL.
Start with the root group at $MNT. No program is attached. By default
override is allowed and recursive is not set.
1. Group $MNT/a is created.
i. Default settings from $MNT are inherited; 'a' has override enabled
and recursive disabled.
ii. Program is attached. Override flag is set, recursive flag is not set.
iii. Process in 'a' opens a socket, program attached to 'a' is run.
2. $MNT/a/b is created
i. 'b' inherits the program and settings of 'a' (override enabled,
recursive disabled).
ii. Process in 'b' opens a socket. Program inherited from 'a' is run.
iii. Non-interesting case for this patch set: attaching a non-recursive
program to 'b' overrides the inherited one. process opens a socket only
the 'b' program is run.
iv. Program is attached to 'b', override flag set, recursive flag set.
v. Process in 'b' opens a socket. Program attached to 'b' is run and
then program from 'a' is run. Recursion stops here since 'a' does not
have the recursion flag set.
3. $MNT/a/b/c is created
i. 'c' inherits the settings of 'b' (override is allowed, recursive flag
is set)
ii. Process in 'c' opens a socket. No program from 'c' exists, so
nothing is run. Recursion flag is set, so program from 'b' is run, then
program from 'a' is run. Stop (recursive flag not set on 'a').
iii. Attaching a non-recursive program to 'c' fails because it inherited
the recursive flag from 'b' and that can not be reset by a descendant.
iv. Recursive program is attached to 'c'
v. Process in 'c' opens a socket. Program attached to 'c' is run, then
the program from 'b' and the program from 'a'. Stop.
etc.
To consider what happens on doubling back and changing programs in the
hierarchy, start with $MNT/a/b/c from 3 above (non-recursive on 'a',
recursive on 'b' and recursive on 'c') for each of the following cases:
1. Program attached to 'b' is detached, recursive flag is reset in the
request. Attempt fails EINVAL because the recursion flag has to be set.
2. Program attached to 'b' is detached, recursive flag is set. Allowed.
Process in 'b' opens a socket. No program attached to 'b' so no program
is run. Recursive flag is set to program from 'a' is run. Stop.
We should allow the recursive flag to be reset if the parent is not
recursive allowing an unwind of settings applied. I'll add that change.
^ permalink raw reply
* [PATCH 0/4] irda: move it to drivers/staging so we can delete it
From: Greg Kroah-Hartman @ 2017-08-27 15:03 UTC (permalink / raw)
To: davem, samuel; +Cc: netdev, linux-kernel, devel, Greg Kroah-Hartman
The IRDA code has long been obsolete and broken. So, to keep people
from trying to use it, and to prevent people from having to maintain it,
let's move it to drivers/staging/ so that we can delete it entirely from
the kernel in a few releases.
Greg Kroah-Hartman (4):
irda: move net/irda/ to drivers/staging/irda/net/
irda: move drivers/net/irda to drivers/staging/irda/drivers
irda: move include/net/irda into staging subdirectory
staging: irda: add a TODO file.
drivers/net/Makefile | 1 -
drivers/staging/Kconfig | 2 ++
drivers/staging/Makefile | 2 ++
drivers/staging/irda/TODO | 4 ++++
drivers/{net/irda => staging/irda/drivers}/Kconfig | 0
drivers/{net/irda => staging/irda/drivers}/Makefile | 2 ++
drivers/{net/irda => staging/irda/drivers}/act200l-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/actisys-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ali-ircc.c | 0
drivers/{net/irda => staging/irda/drivers}/ali-ircc.h | 0
drivers/{net/irda => staging/irda/drivers}/au1k_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/bfin_sir.c | 0
drivers/{net/irda => staging/irda/drivers}/bfin_sir.h | 0
drivers/{net/irda => staging/irda/drivers}/donauboe.c | 0
drivers/{net/irda => staging/irda/drivers}/donauboe.h | 0
drivers/{net/irda => staging/irda/drivers}/esi-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/girbil-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/irda-usb.c | 0
drivers/{net/irda => staging/irda/drivers}/irda-usb.h | 0
drivers/{net/irda => staging/irda/drivers}/irtty-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/irtty-sir.h | 0
drivers/{net/irda => staging/irda/drivers}/kingsun-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ks959-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ksdazzle-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/litelink-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ma600-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/mcp2120-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/mcs7780.c | 0
drivers/{net/irda => staging/irda/drivers}/mcs7780.h | 0
drivers/{net/irda => staging/irda/drivers}/nsc-ircc.c | 0
drivers/{net/irda => staging/irda/drivers}/nsc-ircc.h | 0
drivers/{net/irda => staging/irda/drivers}/old_belkin-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/pxaficp_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/sa1100_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/sh_sir.c | 0
drivers/{net/irda => staging/irda/drivers}/sir-dev.h | 0
drivers/{net/irda => staging/irda/drivers}/sir_dev.c | 0
drivers/{net/irda => staging/irda/drivers}/sir_dongle.c | 0
drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.c | 0
drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.h | 0
drivers/{net/irda => staging/irda/drivers}/smsc-sio.h | 0
drivers/{net/irda => staging/irda/drivers}/stir4200.c | 0
drivers/{net/irda => staging/irda/drivers}/tekram-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/toim3232-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/via-ircc.c | 0
drivers/{net/irda => staging/irda/drivers}/via-ircc.h | 0
drivers/{net/irda => staging/irda/drivers}/vlsi_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/vlsi_ir.h | 0
drivers/{net/irda => staging/irda/drivers}/w83977af.h | 0
drivers/{net/irda => staging/irda/drivers}/w83977af_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/w83977af_ir.h | 0
{include => drivers/staging/irda/include}/net/irda/af_irda.h | 0
{include => drivers/staging/irda/include}/net/irda/crc.h | 0
{include => drivers/staging/irda/include}/net/irda/discovery.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_core.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_event.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_lmp.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_param.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_ttp.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_tty.h | 0
.../staging/irda/include}/net/irda/ircomm_tty_attach.h | 0
{include => drivers/staging/irda/include}/net/irda/irda.h | 0
{include => drivers/staging/irda/include}/net/irda/irda_device.h | 0
{include => drivers/staging/irda/include}/net/irda/iriap.h | 0
{include => drivers/staging/irda/include}/net/irda/iriap_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irias_object.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_client.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_common.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_eth.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_filter.h | 0
.../staging/irda/include}/net/irda/irlan_provider.h | 0
{include => drivers/staging/irda/include}/net/irda/irlap.h | 0
{include => drivers/staging/irda/include}/net/irda/irlap_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irlap_frame.h | 0
{include => drivers/staging/irda/include}/net/irda/irlmp.h | 0
{include => drivers/staging/irda/include}/net/irda/irlmp_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irlmp_frame.h | 0
{include => drivers/staging/irda/include}/net/irda/irmod.h | 0
{include => drivers/staging/irda/include}/net/irda/irqueue.h | 0
{include => drivers/staging/irda/include}/net/irda/irttp.h | 0
{include => drivers/staging/irda/include}/net/irda/parameters.h | 0
{include => drivers/staging/irda/include}/net/irda/qos.h | 0
{include => drivers/staging/irda/include}/net/irda/timer.h | 0
{include => drivers/staging/irda/include}/net/irda/wrapper.h | 0
{net/irda => drivers/staging/irda/net}/Kconfig | 8 ++++----
{net/irda => drivers/staging/irda/net}/Makefile | 2 ++
{net/irda => drivers/staging/irda/net}/af_irda.c | 0
{net/irda => drivers/staging/irda/net}/discovery.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/Kconfig | 0
{net/irda => drivers/staging/irda/net}/ircomm/Makefile | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_core.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_event.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_lmp.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_param.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_ttp.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_attach.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_ioctl.c | 0
{net/irda => drivers/staging/irda/net}/irda_device.c | 0
{net/irda => drivers/staging/irda/net}/iriap.c | 0
{net/irda => drivers/staging/irda/net}/iriap_event.c | 0
{net/irda => drivers/staging/irda/net}/irias_object.c | 0
{net/irda => drivers/staging/irda/net}/irlan/Kconfig | 0
{net/irda => drivers/staging/irda/net}/irlan/Makefile | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_client.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_client_event.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_common.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_eth.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_event.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_filter.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_provider.c | 0
.../staging/irda/net}/irlan/irlan_provider_event.c | 0
{net/irda => drivers/staging/irda/net}/irlap.c | 0
{net/irda => drivers/staging/irda/net}/irlap_event.c | 0
{net/irda => drivers/staging/irda/net}/irlap_frame.c | 0
{net/irda => drivers/staging/irda/net}/irlmp.c | 0
{net/irda => drivers/staging/irda/net}/irlmp_event.c | 0
{net/irda => drivers/staging/irda/net}/irlmp_frame.c | 0
{net/irda => drivers/staging/irda/net}/irmod.c | 0
{net/irda => drivers/staging/irda/net}/irnet/Kconfig | 0
{net/irda => drivers/staging/irda/net}/irnet/Makefile | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet.h | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_irda.c | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_irda.h | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.c | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.h | 0
{net/irda => drivers/staging/irda/net}/irnetlink.c | 0
{net/irda => drivers/staging/irda/net}/irproc.c | 0
{net/irda => drivers/staging/irda/net}/irqueue.c | 0
{net/irda => drivers/staging/irda/net}/irsysctl.c | 0
{net/irda => drivers/staging/irda/net}/irttp.c | 0
{net/irda => drivers/staging/irda/net}/parameters.c | 0
{net/irda => drivers/staging/irda/net}/qos.c | 0
{net/irda => drivers/staging/irda/net}/timer.c | 0
{net/irda => drivers/staging/irda/net}/wrapper.c | 0
net/Kconfig | 1 -
net/Makefile | 1 -
138 files changed, 16 insertions(+), 7 deletions(-)
create mode 100644 drivers/staging/irda/TODO
rename drivers/{net/irda => staging/irda/drivers}/Kconfig (100%)
rename drivers/{net/irda => staging/irda/drivers}/Makefile (96%)
rename drivers/{net/irda => staging/irda/drivers}/act200l-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/actisys-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ali-ircc.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ali-ircc.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/au1k_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/bfin_sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/bfin_sir.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/donauboe.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/donauboe.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/esi-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/girbil-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/irda-usb.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/irda-usb.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/irtty-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/irtty-sir.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/kingsun-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ks959-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ksdazzle-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/litelink-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ma600-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/mcp2120-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/mcs7780.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/mcs7780.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/nsc-ircc.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/nsc-ircc.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/old_belkin-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/pxaficp_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sa1100_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sh_sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sir-dev.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/sir_dev.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sir_dongle.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/smsc-sio.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/stir4200.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/tekram-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/toim3232-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/via-ircc.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/via-ircc.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/vlsi_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/vlsi_ir.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/w83977af.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/w83977af_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/w83977af_ir.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/af_irda.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/crc.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/discovery.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_core.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_lmp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_param.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_ttp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_tty.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_tty_attach.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irda.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irda_device.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/iriap.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/iriap_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irias_object.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_client.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_common.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_eth.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_filter.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_provider.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlap.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlap_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlap_frame.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlmp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlmp_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlmp_frame.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irmod.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irqueue.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irttp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/parameters.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/qos.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/timer.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/wrapper.h (100%)
rename {net/irda => drivers/staging/irda/net}/Kconfig (94%)
rename {net/irda => drivers/staging/irda/net}/Makefile (88%)
rename {net/irda => drivers/staging/irda/net}/af_irda.c (100%)
rename {net/irda => drivers/staging/irda/net}/discovery.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/Kconfig (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_core.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_lmp.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_param.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_ttp.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_attach.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_ioctl.c (100%)
rename {net/irda => drivers/staging/irda/net}/irda_device.c (100%)
rename {net/irda => drivers/staging/irda/net}/iriap.c (100%)
rename {net/irda => drivers/staging/irda/net}/iriap_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irias_object.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/Kconfig (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_client.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_client_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_common.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_eth.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_filter.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_provider.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_provider_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlap.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlap_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlap_frame.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlmp.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlmp_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlmp_frame.c (100%)
rename {net/irda => drivers/staging/irda/net}/irmod.c (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/Kconfig (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet.h (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_irda.c (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_irda.h (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.c (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.h (100%)
rename {net/irda => drivers/staging/irda/net}/irnetlink.c (100%)
rename {net/irda => drivers/staging/irda/net}/irproc.c (100%)
rename {net/irda => drivers/staging/irda/net}/irqueue.c (100%)
rename {net/irda => drivers/staging/irda/net}/irsysctl.c (100%)
rename {net/irda => drivers/staging/irda/net}/irttp.c (100%)
rename {net/irda => drivers/staging/irda/net}/parameters.c (100%)
rename {net/irda => drivers/staging/irda/net}/qos.c (100%)
rename {net/irda => drivers/staging/irda/net}/timer.c (100%)
rename {net/irda => drivers/staging/irda/net}/wrapper.c (100%)
--
2.14.1
^ permalink raw reply
* [PATCH 1/4] irda: move net/irda/ to drivers/staging/irda/net/
From: Greg Kroah-Hartman @ 2017-08-27 15:03 UTC (permalink / raw)
To: davem, samuel; +Cc: devel, netdev, linux-kernel, Greg Kroah-Hartman
In-Reply-To: <20170827150334.32495-1-gregkh@linuxfoundation.org>
It's time to get rid of IRDA. It's long been broken, and no one seems
to use it anymore. So move it to staging and after a while, we can
delete it from there.
To start, move the network irda core from net/irda to
drivers/staging/irda/net/
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/Kconfig | 2 ++
drivers/staging/Makefile | 1 +
{net/irda => drivers/staging/irda/net}/Kconfig | 6 +++---
{net/irda => drivers/staging/irda/net}/Makefile | 0
{net/irda => drivers/staging/irda/net}/af_irda.c | 0
{net/irda => drivers/staging/irda/net}/discovery.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/Kconfig | 0
{net/irda => drivers/staging/irda/net}/ircomm/Makefile | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_core.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_event.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_lmp.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_param.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_ttp.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_attach.c | 0
{net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_ioctl.c | 0
{net/irda => drivers/staging/irda/net}/irda_device.c | 0
{net/irda => drivers/staging/irda/net}/iriap.c | 0
{net/irda => drivers/staging/irda/net}/iriap_event.c | 0
{net/irda => drivers/staging/irda/net}/irias_object.c | 0
{net/irda => drivers/staging/irda/net}/irlan/Kconfig | 0
{net/irda => drivers/staging/irda/net}/irlan/Makefile | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_client.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_client_event.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_common.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_eth.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_event.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_filter.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_provider.c | 0
{net/irda => drivers/staging/irda/net}/irlan/irlan_provider_event.c | 0
{net/irda => drivers/staging/irda/net}/irlap.c | 0
{net/irda => drivers/staging/irda/net}/irlap_event.c | 0
{net/irda => drivers/staging/irda/net}/irlap_frame.c | 0
{net/irda => drivers/staging/irda/net}/irlmp.c | 0
{net/irda => drivers/staging/irda/net}/irlmp_event.c | 0
{net/irda => drivers/staging/irda/net}/irlmp_frame.c | 0
{net/irda => drivers/staging/irda/net}/irmod.c | 0
{net/irda => drivers/staging/irda/net}/irnet/Kconfig | 0
{net/irda => drivers/staging/irda/net}/irnet/Makefile | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet.h | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_irda.c | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_irda.h | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.c | 0
{net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.h | 0
{net/irda => drivers/staging/irda/net}/irnetlink.c | 0
{net/irda => drivers/staging/irda/net}/irproc.c | 0
{net/irda => drivers/staging/irda/net}/irqueue.c | 0
{net/irda => drivers/staging/irda/net}/irsysctl.c | 0
{net/irda => drivers/staging/irda/net}/irttp.c | 0
{net/irda => drivers/staging/irda/net}/parameters.c | 0
{net/irda => drivers/staging/irda/net}/qos.c | 0
{net/irda => drivers/staging/irda/net}/timer.c | 0
{net/irda => drivers/staging/irda/net}/wrapper.c | 0
net/Kconfig | 1 -
net/Makefile | 1 -
55 files changed, 6 insertions(+), 5 deletions(-)
rename {net/irda => drivers/staging/irda/net}/Kconfig (95%)
rename {net/irda => drivers/staging/irda/net}/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/af_irda.c (100%)
rename {net/irda => drivers/staging/irda/net}/discovery.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/Kconfig (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_core.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_lmp.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_param.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_ttp.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_attach.c (100%)
rename {net/irda => drivers/staging/irda/net}/ircomm/ircomm_tty_ioctl.c (100%)
rename {net/irda => drivers/staging/irda/net}/irda_device.c (100%)
rename {net/irda => drivers/staging/irda/net}/iriap.c (100%)
rename {net/irda => drivers/staging/irda/net}/iriap_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irias_object.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/Kconfig (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_client.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_client_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_common.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_eth.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_filter.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_provider.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlan/irlan_provider_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlap.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlap_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlap_frame.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlmp.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlmp_event.c (100%)
rename {net/irda => drivers/staging/irda/net}/irlmp_frame.c (100%)
rename {net/irda => drivers/staging/irda/net}/irmod.c (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/Kconfig (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/Makefile (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet.h (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_irda.c (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_irda.h (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.c (100%)
rename {net/irda => drivers/staging/irda/net}/irnet/irnet_ppp.h (100%)
rename {net/irda => drivers/staging/irda/net}/irnetlink.c (100%)
rename {net/irda => drivers/staging/irda/net}/irproc.c (100%)
rename {net/irda => drivers/staging/irda/net}/irqueue.c (100%)
rename {net/irda => drivers/staging/irda/net}/irsysctl.c (100%)
rename {net/irda => drivers/staging/irda/net}/irttp.c (100%)
rename {net/irda => drivers/staging/irda/net}/parameters.c (100%)
rename {net/irda => drivers/staging/irda/net}/qos.c (100%)
rename {net/irda => drivers/staging/irda/net}/timer.c (100%)
rename {net/irda => drivers/staging/irda/net}/wrapper.c (100%)
diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
index ef28a1cb64ae..0c5086d878c6 100644
--- a/drivers/staging/Kconfig
+++ b/drivers/staging/Kconfig
@@ -24,6 +24,8 @@ menuconfig STAGING
if STAGING
+source "drivers/staging/irda/net/Kconfig"
+
source "drivers/staging/wlan-ng/Kconfig"
source "drivers/staging/comedi/Kconfig"
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 2918580bdb9e..509fbacf9a7e 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -2,6 +2,7 @@
obj-y += media/
obj-y += typec/
+obj-$(CONFIG_IRDA) += irda/net/
obj-$(CONFIG_PRISM2_USB) += wlan-ng/
obj-$(CONFIG_COMEDI) += comedi/
obj-$(CONFIG_FB_OLPC_DCON) += olpc_dcon/
diff --git a/net/irda/Kconfig b/drivers/staging/irda/net/Kconfig
similarity index 95%
rename from net/irda/Kconfig
rename to drivers/staging/irda/net/Kconfig
index c8671a7ffb3c..cd775e1ea0e9 100644
--- a/net/irda/Kconfig
+++ b/drivers/staging/irda/net/Kconfig
@@ -27,11 +27,11 @@ menuconfig IRDA
comment "IrDA protocols"
depends on IRDA
-source "net/irda/irlan/Kconfig"
+source "drivers/staging/irda/net/irlan/Kconfig"
-source "net/irda/irnet/Kconfig"
+source "drivers/staging/irda/net/irnet/Kconfig"
-source "net/irda/ircomm/Kconfig"
+source "drivers/staging/irda/net/ircomm/Kconfig"
config IRDA_ULTRA
bool "Ultra (connectionless) protocol"
diff --git a/net/irda/Makefile b/drivers/staging/irda/net/Makefile
similarity index 100%
rename from net/irda/Makefile
rename to drivers/staging/irda/net/Makefile
diff --git a/net/irda/af_irda.c b/drivers/staging/irda/net/af_irda.c
similarity index 100%
rename from net/irda/af_irda.c
rename to drivers/staging/irda/net/af_irda.c
diff --git a/net/irda/discovery.c b/drivers/staging/irda/net/discovery.c
similarity index 100%
rename from net/irda/discovery.c
rename to drivers/staging/irda/net/discovery.c
diff --git a/net/irda/ircomm/Kconfig b/drivers/staging/irda/net/ircomm/Kconfig
similarity index 100%
rename from net/irda/ircomm/Kconfig
rename to drivers/staging/irda/net/ircomm/Kconfig
diff --git a/net/irda/ircomm/Makefile b/drivers/staging/irda/net/ircomm/Makefile
similarity index 100%
rename from net/irda/ircomm/Makefile
rename to drivers/staging/irda/net/ircomm/Makefile
diff --git a/net/irda/ircomm/ircomm_core.c b/drivers/staging/irda/net/ircomm/ircomm_core.c
similarity index 100%
rename from net/irda/ircomm/ircomm_core.c
rename to drivers/staging/irda/net/ircomm/ircomm_core.c
diff --git a/net/irda/ircomm/ircomm_event.c b/drivers/staging/irda/net/ircomm/ircomm_event.c
similarity index 100%
rename from net/irda/ircomm/ircomm_event.c
rename to drivers/staging/irda/net/ircomm/ircomm_event.c
diff --git a/net/irda/ircomm/ircomm_lmp.c b/drivers/staging/irda/net/ircomm/ircomm_lmp.c
similarity index 100%
rename from net/irda/ircomm/ircomm_lmp.c
rename to drivers/staging/irda/net/ircomm/ircomm_lmp.c
diff --git a/net/irda/ircomm/ircomm_param.c b/drivers/staging/irda/net/ircomm/ircomm_param.c
similarity index 100%
rename from net/irda/ircomm/ircomm_param.c
rename to drivers/staging/irda/net/ircomm/ircomm_param.c
diff --git a/net/irda/ircomm/ircomm_ttp.c b/drivers/staging/irda/net/ircomm/ircomm_ttp.c
similarity index 100%
rename from net/irda/ircomm/ircomm_ttp.c
rename to drivers/staging/irda/net/ircomm/ircomm_ttp.c
diff --git a/net/irda/ircomm/ircomm_tty.c b/drivers/staging/irda/net/ircomm/ircomm_tty.c
similarity index 100%
rename from net/irda/ircomm/ircomm_tty.c
rename to drivers/staging/irda/net/ircomm/ircomm_tty.c
diff --git a/net/irda/ircomm/ircomm_tty_attach.c b/drivers/staging/irda/net/ircomm/ircomm_tty_attach.c
similarity index 100%
rename from net/irda/ircomm/ircomm_tty_attach.c
rename to drivers/staging/irda/net/ircomm/ircomm_tty_attach.c
diff --git a/net/irda/ircomm/ircomm_tty_ioctl.c b/drivers/staging/irda/net/ircomm/ircomm_tty_ioctl.c
similarity index 100%
rename from net/irda/ircomm/ircomm_tty_ioctl.c
rename to drivers/staging/irda/net/ircomm/ircomm_tty_ioctl.c
diff --git a/net/irda/irda_device.c b/drivers/staging/irda/net/irda_device.c
similarity index 100%
rename from net/irda/irda_device.c
rename to drivers/staging/irda/net/irda_device.c
diff --git a/net/irda/iriap.c b/drivers/staging/irda/net/iriap.c
similarity index 100%
rename from net/irda/iriap.c
rename to drivers/staging/irda/net/iriap.c
diff --git a/net/irda/iriap_event.c b/drivers/staging/irda/net/iriap_event.c
similarity index 100%
rename from net/irda/iriap_event.c
rename to drivers/staging/irda/net/iriap_event.c
diff --git a/net/irda/irias_object.c b/drivers/staging/irda/net/irias_object.c
similarity index 100%
rename from net/irda/irias_object.c
rename to drivers/staging/irda/net/irias_object.c
diff --git a/net/irda/irlan/Kconfig b/drivers/staging/irda/net/irlan/Kconfig
similarity index 100%
rename from net/irda/irlan/Kconfig
rename to drivers/staging/irda/net/irlan/Kconfig
diff --git a/net/irda/irlan/Makefile b/drivers/staging/irda/net/irlan/Makefile
similarity index 100%
rename from net/irda/irlan/Makefile
rename to drivers/staging/irda/net/irlan/Makefile
diff --git a/net/irda/irlan/irlan_client.c b/drivers/staging/irda/net/irlan/irlan_client.c
similarity index 100%
rename from net/irda/irlan/irlan_client.c
rename to drivers/staging/irda/net/irlan/irlan_client.c
diff --git a/net/irda/irlan/irlan_client_event.c b/drivers/staging/irda/net/irlan/irlan_client_event.c
similarity index 100%
rename from net/irda/irlan/irlan_client_event.c
rename to drivers/staging/irda/net/irlan/irlan_client_event.c
diff --git a/net/irda/irlan/irlan_common.c b/drivers/staging/irda/net/irlan/irlan_common.c
similarity index 100%
rename from net/irda/irlan/irlan_common.c
rename to drivers/staging/irda/net/irlan/irlan_common.c
diff --git a/net/irda/irlan/irlan_eth.c b/drivers/staging/irda/net/irlan/irlan_eth.c
similarity index 100%
rename from net/irda/irlan/irlan_eth.c
rename to drivers/staging/irda/net/irlan/irlan_eth.c
diff --git a/net/irda/irlan/irlan_event.c b/drivers/staging/irda/net/irlan/irlan_event.c
similarity index 100%
rename from net/irda/irlan/irlan_event.c
rename to drivers/staging/irda/net/irlan/irlan_event.c
diff --git a/net/irda/irlan/irlan_filter.c b/drivers/staging/irda/net/irlan/irlan_filter.c
similarity index 100%
rename from net/irda/irlan/irlan_filter.c
rename to drivers/staging/irda/net/irlan/irlan_filter.c
diff --git a/net/irda/irlan/irlan_provider.c b/drivers/staging/irda/net/irlan/irlan_provider.c
similarity index 100%
rename from net/irda/irlan/irlan_provider.c
rename to drivers/staging/irda/net/irlan/irlan_provider.c
diff --git a/net/irda/irlan/irlan_provider_event.c b/drivers/staging/irda/net/irlan/irlan_provider_event.c
similarity index 100%
rename from net/irda/irlan/irlan_provider_event.c
rename to drivers/staging/irda/net/irlan/irlan_provider_event.c
diff --git a/net/irda/irlap.c b/drivers/staging/irda/net/irlap.c
similarity index 100%
rename from net/irda/irlap.c
rename to drivers/staging/irda/net/irlap.c
diff --git a/net/irda/irlap_event.c b/drivers/staging/irda/net/irlap_event.c
similarity index 100%
rename from net/irda/irlap_event.c
rename to drivers/staging/irda/net/irlap_event.c
diff --git a/net/irda/irlap_frame.c b/drivers/staging/irda/net/irlap_frame.c
similarity index 100%
rename from net/irda/irlap_frame.c
rename to drivers/staging/irda/net/irlap_frame.c
diff --git a/net/irda/irlmp.c b/drivers/staging/irda/net/irlmp.c
similarity index 100%
rename from net/irda/irlmp.c
rename to drivers/staging/irda/net/irlmp.c
diff --git a/net/irda/irlmp_event.c b/drivers/staging/irda/net/irlmp_event.c
similarity index 100%
rename from net/irda/irlmp_event.c
rename to drivers/staging/irda/net/irlmp_event.c
diff --git a/net/irda/irlmp_frame.c b/drivers/staging/irda/net/irlmp_frame.c
similarity index 100%
rename from net/irda/irlmp_frame.c
rename to drivers/staging/irda/net/irlmp_frame.c
diff --git a/net/irda/irmod.c b/drivers/staging/irda/net/irmod.c
similarity index 100%
rename from net/irda/irmod.c
rename to drivers/staging/irda/net/irmod.c
diff --git a/net/irda/irnet/Kconfig b/drivers/staging/irda/net/irnet/Kconfig
similarity index 100%
rename from net/irda/irnet/Kconfig
rename to drivers/staging/irda/net/irnet/Kconfig
diff --git a/net/irda/irnet/Makefile b/drivers/staging/irda/net/irnet/Makefile
similarity index 100%
rename from net/irda/irnet/Makefile
rename to drivers/staging/irda/net/irnet/Makefile
diff --git a/net/irda/irnet/irnet.h b/drivers/staging/irda/net/irnet/irnet.h
similarity index 100%
rename from net/irda/irnet/irnet.h
rename to drivers/staging/irda/net/irnet/irnet.h
diff --git a/net/irda/irnet/irnet_irda.c b/drivers/staging/irda/net/irnet/irnet_irda.c
similarity index 100%
rename from net/irda/irnet/irnet_irda.c
rename to drivers/staging/irda/net/irnet/irnet_irda.c
diff --git a/net/irda/irnet/irnet_irda.h b/drivers/staging/irda/net/irnet/irnet_irda.h
similarity index 100%
rename from net/irda/irnet/irnet_irda.h
rename to drivers/staging/irda/net/irnet/irnet_irda.h
diff --git a/net/irda/irnet/irnet_ppp.c b/drivers/staging/irda/net/irnet/irnet_ppp.c
similarity index 100%
rename from net/irda/irnet/irnet_ppp.c
rename to drivers/staging/irda/net/irnet/irnet_ppp.c
diff --git a/net/irda/irnet/irnet_ppp.h b/drivers/staging/irda/net/irnet/irnet_ppp.h
similarity index 100%
rename from net/irda/irnet/irnet_ppp.h
rename to drivers/staging/irda/net/irnet/irnet_ppp.h
diff --git a/net/irda/irnetlink.c b/drivers/staging/irda/net/irnetlink.c
similarity index 100%
rename from net/irda/irnetlink.c
rename to drivers/staging/irda/net/irnetlink.c
diff --git a/net/irda/irproc.c b/drivers/staging/irda/net/irproc.c
similarity index 100%
rename from net/irda/irproc.c
rename to drivers/staging/irda/net/irproc.c
diff --git a/net/irda/irqueue.c b/drivers/staging/irda/net/irqueue.c
similarity index 100%
rename from net/irda/irqueue.c
rename to drivers/staging/irda/net/irqueue.c
diff --git a/net/irda/irsysctl.c b/drivers/staging/irda/net/irsysctl.c
similarity index 100%
rename from net/irda/irsysctl.c
rename to drivers/staging/irda/net/irsysctl.c
diff --git a/net/irda/irttp.c b/drivers/staging/irda/net/irttp.c
similarity index 100%
rename from net/irda/irttp.c
rename to drivers/staging/irda/net/irttp.c
diff --git a/net/irda/parameters.c b/drivers/staging/irda/net/parameters.c
similarity index 100%
rename from net/irda/parameters.c
rename to drivers/staging/irda/net/parameters.c
diff --git a/net/irda/qos.c b/drivers/staging/irda/net/qos.c
similarity index 100%
rename from net/irda/qos.c
rename to drivers/staging/irda/net/qos.c
diff --git a/net/irda/timer.c b/drivers/staging/irda/net/timer.c
similarity index 100%
rename from net/irda/timer.c
rename to drivers/staging/irda/net/timer.c
diff --git a/net/irda/wrapper.c b/drivers/staging/irda/net/wrapper.c
similarity index 100%
rename from net/irda/wrapper.c
rename to drivers/staging/irda/net/wrapper.c
diff --git a/net/Kconfig b/net/Kconfig
index 7d57ef34b79c..992a5b8f72d7 100644
--- a/net/Kconfig
+++ b/net/Kconfig
@@ -364,7 +364,6 @@ endmenu
source "net/ax25/Kconfig"
source "net/can/Kconfig"
-source "net/irda/Kconfig"
source "net/bluetooth/Kconfig"
source "net/rxrpc/Kconfig"
source "net/kcm/Kconfig"
diff --git a/net/Makefile b/net/Makefile
index bed80fa398b7..3d3feff3643b 100644
--- a/net/Makefile
+++ b/net/Makefile
@@ -31,7 +31,6 @@ obj-$(CONFIG_NETROM) += netrom/
obj-$(CONFIG_ROSE) += rose/
obj-$(CONFIG_AX25) += ax25/
obj-$(CONFIG_CAN) += can/
-obj-$(CONFIG_IRDA) += irda/
obj-$(CONFIG_BT) += bluetooth/
obj-$(CONFIG_SUNRPC) += sunrpc/
obj-$(CONFIG_AF_RXRPC) += rxrpc/
--
2.14.1
^ permalink raw reply related
* [PATCH 2/4] irda: move drivers/net/irda to drivers/staging/irda/drivers
From: Greg Kroah-Hartman @ 2017-08-27 15:03 UTC (permalink / raw)
To: davem, samuel; +Cc: netdev, linux-kernel, devel, Greg Kroah-Hartman
In-Reply-To: <20170827150334.32495-1-gregkh@linuxfoundation.org>
Move the irda drivers from drivers/net/irda/ to
drivers/staging/irda/drivers as they will be deleted in a future kernel
release.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/net/Makefile | 1 -
drivers/staging/Makefile | 1 +
drivers/{net/irda => staging/irda/drivers}/Kconfig | 0
drivers/{net/irda => staging/irda/drivers}/Makefile | 0
drivers/{net/irda => staging/irda/drivers}/act200l-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/actisys-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ali-ircc.c | 0
drivers/{net/irda => staging/irda/drivers}/ali-ircc.h | 0
drivers/{net/irda => staging/irda/drivers}/au1k_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/bfin_sir.c | 0
drivers/{net/irda => staging/irda/drivers}/bfin_sir.h | 0
drivers/{net/irda => staging/irda/drivers}/donauboe.c | 0
drivers/{net/irda => staging/irda/drivers}/donauboe.h | 0
drivers/{net/irda => staging/irda/drivers}/esi-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/girbil-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/irda-usb.c | 0
drivers/{net/irda => staging/irda/drivers}/irda-usb.h | 0
drivers/{net/irda => staging/irda/drivers}/irtty-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/irtty-sir.h | 0
drivers/{net/irda => staging/irda/drivers}/kingsun-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ks959-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ksdazzle-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/litelink-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/ma600-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/mcp2120-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/mcs7780.c | 0
drivers/{net/irda => staging/irda/drivers}/mcs7780.h | 0
drivers/{net/irda => staging/irda/drivers}/nsc-ircc.c | 0
drivers/{net/irda => staging/irda/drivers}/nsc-ircc.h | 0
drivers/{net/irda => staging/irda/drivers}/old_belkin-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/pxaficp_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/sa1100_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/sh_sir.c | 0
drivers/{net/irda => staging/irda/drivers}/sir-dev.h | 0
drivers/{net/irda => staging/irda/drivers}/sir_dev.c | 0
drivers/{net/irda => staging/irda/drivers}/sir_dongle.c | 0
drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.c | 0
drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.h | 0
drivers/{net/irda => staging/irda/drivers}/smsc-sio.h | 0
drivers/{net/irda => staging/irda/drivers}/stir4200.c | 0
drivers/{net/irda => staging/irda/drivers}/tekram-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/toim3232-sir.c | 0
drivers/{net/irda => staging/irda/drivers}/via-ircc.c | 0
drivers/{net/irda => staging/irda/drivers}/via-ircc.h | 0
drivers/{net/irda => staging/irda/drivers}/vlsi_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/vlsi_ir.h | 0
drivers/{net/irda => staging/irda/drivers}/w83977af.h | 0
drivers/{net/irda => staging/irda/drivers}/w83977af_ir.c | 0
drivers/{net/irda => staging/irda/drivers}/w83977af_ir.h | 0
drivers/staging/irda/net/Kconfig | 2 +-
50 files changed, 2 insertions(+), 2 deletions(-)
rename drivers/{net/irda => staging/irda/drivers}/Kconfig (100%)
rename drivers/{net/irda => staging/irda/drivers}/Makefile (100%)
rename drivers/{net/irda => staging/irda/drivers}/act200l-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/actisys-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ali-ircc.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ali-ircc.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/au1k_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/bfin_sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/bfin_sir.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/donauboe.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/donauboe.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/esi-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/girbil-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/irda-usb.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/irda-usb.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/irtty-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/irtty-sir.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/kingsun-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ks959-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ksdazzle-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/litelink-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/ma600-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/mcp2120-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/mcs7780.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/mcs7780.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/nsc-ircc.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/nsc-ircc.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/old_belkin-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/pxaficp_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sa1100_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sh_sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sir-dev.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/sir_dev.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/sir_dongle.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/smsc-ircc2.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/smsc-sio.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/stir4200.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/tekram-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/toim3232-sir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/via-ircc.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/via-ircc.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/vlsi_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/vlsi_ir.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/w83977af.h (100%)
rename drivers/{net/irda => staging/irda/drivers}/w83977af_ir.c (100%)
rename drivers/{net/irda => staging/irda/drivers}/w83977af_ir.h (100%)
diff --git a/drivers/net/Makefile b/drivers/net/Makefile
index b2f6556d8848..8dff900085d6 100644
--- a/drivers/net/Makefile
+++ b/drivers/net/Makefile
@@ -45,7 +45,6 @@ obj-$(CONFIG_ETHERNET) += ethernet/
obj-$(CONFIG_FDDI) += fddi/
obj-$(CONFIG_HIPPI) += hippi/
obj-$(CONFIG_HAMRADIO) += hamradio/
-obj-$(CONFIG_IRDA) += irda/
obj-$(CONFIG_PLIP) += plip/
obj-$(CONFIG_PPP) += ppp/
obj-$(CONFIG_PPP_ASYNC) += ppp/
diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile
index 509fbacf9a7e..fced929a0e67 100644
--- a/drivers/staging/Makefile
+++ b/drivers/staging/Makefile
@@ -3,6 +3,7 @@
obj-y += media/
obj-y += typec/
obj-$(CONFIG_IRDA) += irda/net/
+obj-$(CONFIG_IRDA) += irda/drivers/
obj-$(CONFIG_PRISM2_USB) += wlan-ng/
obj-$(CONFIG_COMEDI) += comedi/
obj-$(CONFIG_FB_OLPC_DCON) += olpc_dcon/
diff --git a/drivers/net/irda/Kconfig b/drivers/staging/irda/drivers/Kconfig
similarity index 100%
rename from drivers/net/irda/Kconfig
rename to drivers/staging/irda/drivers/Kconfig
diff --git a/drivers/net/irda/Makefile b/drivers/staging/irda/drivers/Makefile
similarity index 100%
rename from drivers/net/irda/Makefile
rename to drivers/staging/irda/drivers/Makefile
diff --git a/drivers/net/irda/act200l-sir.c b/drivers/staging/irda/drivers/act200l-sir.c
similarity index 100%
rename from drivers/net/irda/act200l-sir.c
rename to drivers/staging/irda/drivers/act200l-sir.c
diff --git a/drivers/net/irda/actisys-sir.c b/drivers/staging/irda/drivers/actisys-sir.c
similarity index 100%
rename from drivers/net/irda/actisys-sir.c
rename to drivers/staging/irda/drivers/actisys-sir.c
diff --git a/drivers/net/irda/ali-ircc.c b/drivers/staging/irda/drivers/ali-ircc.c
similarity index 100%
rename from drivers/net/irda/ali-ircc.c
rename to drivers/staging/irda/drivers/ali-ircc.c
diff --git a/drivers/net/irda/ali-ircc.h b/drivers/staging/irda/drivers/ali-ircc.h
similarity index 100%
rename from drivers/net/irda/ali-ircc.h
rename to drivers/staging/irda/drivers/ali-ircc.h
diff --git a/drivers/net/irda/au1k_ir.c b/drivers/staging/irda/drivers/au1k_ir.c
similarity index 100%
rename from drivers/net/irda/au1k_ir.c
rename to drivers/staging/irda/drivers/au1k_ir.c
diff --git a/drivers/net/irda/bfin_sir.c b/drivers/staging/irda/drivers/bfin_sir.c
similarity index 100%
rename from drivers/net/irda/bfin_sir.c
rename to drivers/staging/irda/drivers/bfin_sir.c
diff --git a/drivers/net/irda/bfin_sir.h b/drivers/staging/irda/drivers/bfin_sir.h
similarity index 100%
rename from drivers/net/irda/bfin_sir.h
rename to drivers/staging/irda/drivers/bfin_sir.h
diff --git a/drivers/net/irda/donauboe.c b/drivers/staging/irda/drivers/donauboe.c
similarity index 100%
rename from drivers/net/irda/donauboe.c
rename to drivers/staging/irda/drivers/donauboe.c
diff --git a/drivers/net/irda/donauboe.h b/drivers/staging/irda/drivers/donauboe.h
similarity index 100%
rename from drivers/net/irda/donauboe.h
rename to drivers/staging/irda/drivers/donauboe.h
diff --git a/drivers/net/irda/esi-sir.c b/drivers/staging/irda/drivers/esi-sir.c
similarity index 100%
rename from drivers/net/irda/esi-sir.c
rename to drivers/staging/irda/drivers/esi-sir.c
diff --git a/drivers/net/irda/girbil-sir.c b/drivers/staging/irda/drivers/girbil-sir.c
similarity index 100%
rename from drivers/net/irda/girbil-sir.c
rename to drivers/staging/irda/drivers/girbil-sir.c
diff --git a/drivers/net/irda/irda-usb.c b/drivers/staging/irda/drivers/irda-usb.c
similarity index 100%
rename from drivers/net/irda/irda-usb.c
rename to drivers/staging/irda/drivers/irda-usb.c
diff --git a/drivers/net/irda/irda-usb.h b/drivers/staging/irda/drivers/irda-usb.h
similarity index 100%
rename from drivers/net/irda/irda-usb.h
rename to drivers/staging/irda/drivers/irda-usb.h
diff --git a/drivers/net/irda/irtty-sir.c b/drivers/staging/irda/drivers/irtty-sir.c
similarity index 100%
rename from drivers/net/irda/irtty-sir.c
rename to drivers/staging/irda/drivers/irtty-sir.c
diff --git a/drivers/net/irda/irtty-sir.h b/drivers/staging/irda/drivers/irtty-sir.h
similarity index 100%
rename from drivers/net/irda/irtty-sir.h
rename to drivers/staging/irda/drivers/irtty-sir.h
diff --git a/drivers/net/irda/kingsun-sir.c b/drivers/staging/irda/drivers/kingsun-sir.c
similarity index 100%
rename from drivers/net/irda/kingsun-sir.c
rename to drivers/staging/irda/drivers/kingsun-sir.c
diff --git a/drivers/net/irda/ks959-sir.c b/drivers/staging/irda/drivers/ks959-sir.c
similarity index 100%
rename from drivers/net/irda/ks959-sir.c
rename to drivers/staging/irda/drivers/ks959-sir.c
diff --git a/drivers/net/irda/ksdazzle-sir.c b/drivers/staging/irda/drivers/ksdazzle-sir.c
similarity index 100%
rename from drivers/net/irda/ksdazzle-sir.c
rename to drivers/staging/irda/drivers/ksdazzle-sir.c
diff --git a/drivers/net/irda/litelink-sir.c b/drivers/staging/irda/drivers/litelink-sir.c
similarity index 100%
rename from drivers/net/irda/litelink-sir.c
rename to drivers/staging/irda/drivers/litelink-sir.c
diff --git a/drivers/net/irda/ma600-sir.c b/drivers/staging/irda/drivers/ma600-sir.c
similarity index 100%
rename from drivers/net/irda/ma600-sir.c
rename to drivers/staging/irda/drivers/ma600-sir.c
diff --git a/drivers/net/irda/mcp2120-sir.c b/drivers/staging/irda/drivers/mcp2120-sir.c
similarity index 100%
rename from drivers/net/irda/mcp2120-sir.c
rename to drivers/staging/irda/drivers/mcp2120-sir.c
diff --git a/drivers/net/irda/mcs7780.c b/drivers/staging/irda/drivers/mcs7780.c
similarity index 100%
rename from drivers/net/irda/mcs7780.c
rename to drivers/staging/irda/drivers/mcs7780.c
diff --git a/drivers/net/irda/mcs7780.h b/drivers/staging/irda/drivers/mcs7780.h
similarity index 100%
rename from drivers/net/irda/mcs7780.h
rename to drivers/staging/irda/drivers/mcs7780.h
diff --git a/drivers/net/irda/nsc-ircc.c b/drivers/staging/irda/drivers/nsc-ircc.c
similarity index 100%
rename from drivers/net/irda/nsc-ircc.c
rename to drivers/staging/irda/drivers/nsc-ircc.c
diff --git a/drivers/net/irda/nsc-ircc.h b/drivers/staging/irda/drivers/nsc-ircc.h
similarity index 100%
rename from drivers/net/irda/nsc-ircc.h
rename to drivers/staging/irda/drivers/nsc-ircc.h
diff --git a/drivers/net/irda/old_belkin-sir.c b/drivers/staging/irda/drivers/old_belkin-sir.c
similarity index 100%
rename from drivers/net/irda/old_belkin-sir.c
rename to drivers/staging/irda/drivers/old_belkin-sir.c
diff --git a/drivers/net/irda/pxaficp_ir.c b/drivers/staging/irda/drivers/pxaficp_ir.c
similarity index 100%
rename from drivers/net/irda/pxaficp_ir.c
rename to drivers/staging/irda/drivers/pxaficp_ir.c
diff --git a/drivers/net/irda/sa1100_ir.c b/drivers/staging/irda/drivers/sa1100_ir.c
similarity index 100%
rename from drivers/net/irda/sa1100_ir.c
rename to drivers/staging/irda/drivers/sa1100_ir.c
diff --git a/drivers/net/irda/sh_sir.c b/drivers/staging/irda/drivers/sh_sir.c
similarity index 100%
rename from drivers/net/irda/sh_sir.c
rename to drivers/staging/irda/drivers/sh_sir.c
diff --git a/drivers/net/irda/sir-dev.h b/drivers/staging/irda/drivers/sir-dev.h
similarity index 100%
rename from drivers/net/irda/sir-dev.h
rename to drivers/staging/irda/drivers/sir-dev.h
diff --git a/drivers/net/irda/sir_dev.c b/drivers/staging/irda/drivers/sir_dev.c
similarity index 100%
rename from drivers/net/irda/sir_dev.c
rename to drivers/staging/irda/drivers/sir_dev.c
diff --git a/drivers/net/irda/sir_dongle.c b/drivers/staging/irda/drivers/sir_dongle.c
similarity index 100%
rename from drivers/net/irda/sir_dongle.c
rename to drivers/staging/irda/drivers/sir_dongle.c
diff --git a/drivers/net/irda/smsc-ircc2.c b/drivers/staging/irda/drivers/smsc-ircc2.c
similarity index 100%
rename from drivers/net/irda/smsc-ircc2.c
rename to drivers/staging/irda/drivers/smsc-ircc2.c
diff --git a/drivers/net/irda/smsc-ircc2.h b/drivers/staging/irda/drivers/smsc-ircc2.h
similarity index 100%
rename from drivers/net/irda/smsc-ircc2.h
rename to drivers/staging/irda/drivers/smsc-ircc2.h
diff --git a/drivers/net/irda/smsc-sio.h b/drivers/staging/irda/drivers/smsc-sio.h
similarity index 100%
rename from drivers/net/irda/smsc-sio.h
rename to drivers/staging/irda/drivers/smsc-sio.h
diff --git a/drivers/net/irda/stir4200.c b/drivers/staging/irda/drivers/stir4200.c
similarity index 100%
rename from drivers/net/irda/stir4200.c
rename to drivers/staging/irda/drivers/stir4200.c
diff --git a/drivers/net/irda/tekram-sir.c b/drivers/staging/irda/drivers/tekram-sir.c
similarity index 100%
rename from drivers/net/irda/tekram-sir.c
rename to drivers/staging/irda/drivers/tekram-sir.c
diff --git a/drivers/net/irda/toim3232-sir.c b/drivers/staging/irda/drivers/toim3232-sir.c
similarity index 100%
rename from drivers/net/irda/toim3232-sir.c
rename to drivers/staging/irda/drivers/toim3232-sir.c
diff --git a/drivers/net/irda/via-ircc.c b/drivers/staging/irda/drivers/via-ircc.c
similarity index 100%
rename from drivers/net/irda/via-ircc.c
rename to drivers/staging/irda/drivers/via-ircc.c
diff --git a/drivers/net/irda/via-ircc.h b/drivers/staging/irda/drivers/via-ircc.h
similarity index 100%
rename from drivers/net/irda/via-ircc.h
rename to drivers/staging/irda/drivers/via-ircc.h
diff --git a/drivers/net/irda/vlsi_ir.c b/drivers/staging/irda/drivers/vlsi_ir.c
similarity index 100%
rename from drivers/net/irda/vlsi_ir.c
rename to drivers/staging/irda/drivers/vlsi_ir.c
diff --git a/drivers/net/irda/vlsi_ir.h b/drivers/staging/irda/drivers/vlsi_ir.h
similarity index 100%
rename from drivers/net/irda/vlsi_ir.h
rename to drivers/staging/irda/drivers/vlsi_ir.h
diff --git a/drivers/net/irda/w83977af.h b/drivers/staging/irda/drivers/w83977af.h
similarity index 100%
rename from drivers/net/irda/w83977af.h
rename to drivers/staging/irda/drivers/w83977af.h
diff --git a/drivers/net/irda/w83977af_ir.c b/drivers/staging/irda/drivers/w83977af_ir.c
similarity index 100%
rename from drivers/net/irda/w83977af_ir.c
rename to drivers/staging/irda/drivers/w83977af_ir.c
diff --git a/drivers/net/irda/w83977af_ir.h b/drivers/staging/irda/drivers/w83977af_ir.h
similarity index 100%
rename from drivers/net/irda/w83977af_ir.h
rename to drivers/staging/irda/drivers/w83977af_ir.h
diff --git a/drivers/staging/irda/net/Kconfig b/drivers/staging/irda/net/Kconfig
index cd775e1ea0e9..6abeae6c666a 100644
--- a/drivers/staging/irda/net/Kconfig
+++ b/drivers/staging/irda/net/Kconfig
@@ -92,5 +92,5 @@ config IRDA_DEBUG
If unsure, say Y (since it makes it easier to find the bugs).
-source "drivers/net/irda/Kconfig"
+source "drivers/staging/irda/drivers/Kconfig"
--
2.14.1
^ permalink raw reply related
* [PATCH 4/4] staging: irda: add a TODO file.
From: Greg Kroah-Hartman @ 2017-08-27 15:03 UTC (permalink / raw)
To: davem, samuel; +Cc: netdev, linux-kernel, devel, Greg Kroah-Hartman
In-Reply-To: <20170827150334.32495-1-gregkh@linuxfoundation.org>
The irda code will be deleted in a future kernel release, so no need to
have anyone do any new work on it.
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/irda/TODO | 4 ++++
1 file changed, 4 insertions(+)
create mode 100644 drivers/staging/irda/TODO
diff --git a/drivers/staging/irda/TODO b/drivers/staging/irda/TODO
new file mode 100644
index 000000000000..7d98a5cffaff
--- /dev/null
+++ b/drivers/staging/irda/TODO
@@ -0,0 +1,4 @@
+The irda code will be removed soon from the kernel tree as it is old and
+obsolete and broken.
+
+Don't worry about fixing up anything here, it's not needed.
--
2.14.1
^ permalink raw reply related
* [PATCH 3/4] irda: move include/net/irda into staging subdirectory
From: Greg Kroah-Hartman @ 2017-08-27 15:03 UTC (permalink / raw)
To: davem, samuel; +Cc: netdev, linux-kernel, devel, Greg Kroah-Hartman
In-Reply-To: <20170827150334.32495-1-gregkh@linuxfoundation.org>
And finally, move the irda include files into
drivers/staging/irda/include/net/irda. Yes, it's a long path, but it
makes it easy for us to just add a Makefile directory path addition and
all of the net and drivers code "just works".
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
drivers/staging/irda/drivers/Makefile | 2 ++
{include => drivers/staging/irda/include}/net/irda/af_irda.h | 0
{include => drivers/staging/irda/include}/net/irda/crc.h | 0
{include => drivers/staging/irda/include}/net/irda/discovery.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_core.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_event.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_lmp.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_param.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_ttp.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_tty.h | 0
{include => drivers/staging/irda/include}/net/irda/ircomm_tty_attach.h | 0
{include => drivers/staging/irda/include}/net/irda/irda.h | 0
{include => drivers/staging/irda/include}/net/irda/irda_device.h | 0
{include => drivers/staging/irda/include}/net/irda/iriap.h | 0
{include => drivers/staging/irda/include}/net/irda/iriap_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irias_object.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_client.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_common.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_eth.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_filter.h | 0
{include => drivers/staging/irda/include}/net/irda/irlan_provider.h | 0
{include => drivers/staging/irda/include}/net/irda/irlap.h | 0
{include => drivers/staging/irda/include}/net/irda/irlap_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irlap_frame.h | 0
{include => drivers/staging/irda/include}/net/irda/irlmp.h | 0
{include => drivers/staging/irda/include}/net/irda/irlmp_event.h | 0
{include => drivers/staging/irda/include}/net/irda/irlmp_frame.h | 0
{include => drivers/staging/irda/include}/net/irda/irmod.h | 0
{include => drivers/staging/irda/include}/net/irda/irqueue.h | 0
{include => drivers/staging/irda/include}/net/irda/irttp.h | 0
{include => drivers/staging/irda/include}/net/irda/parameters.h | 0
{include => drivers/staging/irda/include}/net/irda/qos.h | 0
{include => drivers/staging/irda/include}/net/irda/timer.h | 0
{include => drivers/staging/irda/include}/net/irda/wrapper.h | 0
drivers/staging/irda/net/Makefile | 2 ++
36 files changed, 4 insertions(+)
rename {include => drivers/staging/irda/include}/net/irda/af_irda.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/crc.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/discovery.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_core.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_lmp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_param.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_ttp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_tty.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/ircomm_tty_attach.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irda.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irda_device.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/iriap.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/iriap_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irias_object.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_client.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_common.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_eth.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_filter.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlan_provider.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlap.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlap_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlap_frame.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlmp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlmp_event.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irlmp_frame.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irmod.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irqueue.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/irttp.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/parameters.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/qos.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/timer.h (100%)
rename {include => drivers/staging/irda/include}/net/irda/wrapper.h (100%)
diff --git a/drivers/staging/irda/drivers/Makefile b/drivers/staging/irda/drivers/Makefile
index 4c344433dae5..e2901b135528 100644
--- a/drivers/staging/irda/drivers/Makefile
+++ b/drivers/staging/irda/drivers/Makefile
@@ -5,6 +5,8 @@
# Rewritten to use lists instead of if-statements.
#
+subdir-ccflags-y += -I$(srctree)/drivers/staging/irda/include
+
# FIR drivers
obj-$(CONFIG_USB_IRDA) += irda-usb.o
obj-$(CONFIG_SIGMATEL_FIR) += stir4200.o
diff --git a/include/net/irda/af_irda.h b/drivers/staging/irda/include/net/irda/af_irda.h
similarity index 100%
rename from include/net/irda/af_irda.h
rename to drivers/staging/irda/include/net/irda/af_irda.h
diff --git a/include/net/irda/crc.h b/drivers/staging/irda/include/net/irda/crc.h
similarity index 100%
rename from include/net/irda/crc.h
rename to drivers/staging/irda/include/net/irda/crc.h
diff --git a/include/net/irda/discovery.h b/drivers/staging/irda/include/net/irda/discovery.h
similarity index 100%
rename from include/net/irda/discovery.h
rename to drivers/staging/irda/include/net/irda/discovery.h
diff --git a/include/net/irda/ircomm_core.h b/drivers/staging/irda/include/net/irda/ircomm_core.h
similarity index 100%
rename from include/net/irda/ircomm_core.h
rename to drivers/staging/irda/include/net/irda/ircomm_core.h
diff --git a/include/net/irda/ircomm_event.h b/drivers/staging/irda/include/net/irda/ircomm_event.h
similarity index 100%
rename from include/net/irda/ircomm_event.h
rename to drivers/staging/irda/include/net/irda/ircomm_event.h
diff --git a/include/net/irda/ircomm_lmp.h b/drivers/staging/irda/include/net/irda/ircomm_lmp.h
similarity index 100%
rename from include/net/irda/ircomm_lmp.h
rename to drivers/staging/irda/include/net/irda/ircomm_lmp.h
diff --git a/include/net/irda/ircomm_param.h b/drivers/staging/irda/include/net/irda/ircomm_param.h
similarity index 100%
rename from include/net/irda/ircomm_param.h
rename to drivers/staging/irda/include/net/irda/ircomm_param.h
diff --git a/include/net/irda/ircomm_ttp.h b/drivers/staging/irda/include/net/irda/ircomm_ttp.h
similarity index 100%
rename from include/net/irda/ircomm_ttp.h
rename to drivers/staging/irda/include/net/irda/ircomm_ttp.h
diff --git a/include/net/irda/ircomm_tty.h b/drivers/staging/irda/include/net/irda/ircomm_tty.h
similarity index 100%
rename from include/net/irda/ircomm_tty.h
rename to drivers/staging/irda/include/net/irda/ircomm_tty.h
diff --git a/include/net/irda/ircomm_tty_attach.h b/drivers/staging/irda/include/net/irda/ircomm_tty_attach.h
similarity index 100%
rename from include/net/irda/ircomm_tty_attach.h
rename to drivers/staging/irda/include/net/irda/ircomm_tty_attach.h
diff --git a/include/net/irda/irda.h b/drivers/staging/irda/include/net/irda/irda.h
similarity index 100%
rename from include/net/irda/irda.h
rename to drivers/staging/irda/include/net/irda/irda.h
diff --git a/include/net/irda/irda_device.h b/drivers/staging/irda/include/net/irda/irda_device.h
similarity index 100%
rename from include/net/irda/irda_device.h
rename to drivers/staging/irda/include/net/irda/irda_device.h
diff --git a/include/net/irda/iriap.h b/drivers/staging/irda/include/net/irda/iriap.h
similarity index 100%
rename from include/net/irda/iriap.h
rename to drivers/staging/irda/include/net/irda/iriap.h
diff --git a/include/net/irda/iriap_event.h b/drivers/staging/irda/include/net/irda/iriap_event.h
similarity index 100%
rename from include/net/irda/iriap_event.h
rename to drivers/staging/irda/include/net/irda/iriap_event.h
diff --git a/include/net/irda/irias_object.h b/drivers/staging/irda/include/net/irda/irias_object.h
similarity index 100%
rename from include/net/irda/irias_object.h
rename to drivers/staging/irda/include/net/irda/irias_object.h
diff --git a/include/net/irda/irlan_client.h b/drivers/staging/irda/include/net/irda/irlan_client.h
similarity index 100%
rename from include/net/irda/irlan_client.h
rename to drivers/staging/irda/include/net/irda/irlan_client.h
diff --git a/include/net/irda/irlan_common.h b/drivers/staging/irda/include/net/irda/irlan_common.h
similarity index 100%
rename from include/net/irda/irlan_common.h
rename to drivers/staging/irda/include/net/irda/irlan_common.h
diff --git a/include/net/irda/irlan_eth.h b/drivers/staging/irda/include/net/irda/irlan_eth.h
similarity index 100%
rename from include/net/irda/irlan_eth.h
rename to drivers/staging/irda/include/net/irda/irlan_eth.h
diff --git a/include/net/irda/irlan_event.h b/drivers/staging/irda/include/net/irda/irlan_event.h
similarity index 100%
rename from include/net/irda/irlan_event.h
rename to drivers/staging/irda/include/net/irda/irlan_event.h
diff --git a/include/net/irda/irlan_filter.h b/drivers/staging/irda/include/net/irda/irlan_filter.h
similarity index 100%
rename from include/net/irda/irlan_filter.h
rename to drivers/staging/irda/include/net/irda/irlan_filter.h
diff --git a/include/net/irda/irlan_provider.h b/drivers/staging/irda/include/net/irda/irlan_provider.h
similarity index 100%
rename from include/net/irda/irlan_provider.h
rename to drivers/staging/irda/include/net/irda/irlan_provider.h
diff --git a/include/net/irda/irlap.h b/drivers/staging/irda/include/net/irda/irlap.h
similarity index 100%
rename from include/net/irda/irlap.h
rename to drivers/staging/irda/include/net/irda/irlap.h
diff --git a/include/net/irda/irlap_event.h b/drivers/staging/irda/include/net/irda/irlap_event.h
similarity index 100%
rename from include/net/irda/irlap_event.h
rename to drivers/staging/irda/include/net/irda/irlap_event.h
diff --git a/include/net/irda/irlap_frame.h b/drivers/staging/irda/include/net/irda/irlap_frame.h
similarity index 100%
rename from include/net/irda/irlap_frame.h
rename to drivers/staging/irda/include/net/irda/irlap_frame.h
diff --git a/include/net/irda/irlmp.h b/drivers/staging/irda/include/net/irda/irlmp.h
similarity index 100%
rename from include/net/irda/irlmp.h
rename to drivers/staging/irda/include/net/irda/irlmp.h
diff --git a/include/net/irda/irlmp_event.h b/drivers/staging/irda/include/net/irda/irlmp_event.h
similarity index 100%
rename from include/net/irda/irlmp_event.h
rename to drivers/staging/irda/include/net/irda/irlmp_event.h
diff --git a/include/net/irda/irlmp_frame.h b/drivers/staging/irda/include/net/irda/irlmp_frame.h
similarity index 100%
rename from include/net/irda/irlmp_frame.h
rename to drivers/staging/irda/include/net/irda/irlmp_frame.h
diff --git a/include/net/irda/irmod.h b/drivers/staging/irda/include/net/irda/irmod.h
similarity index 100%
rename from include/net/irda/irmod.h
rename to drivers/staging/irda/include/net/irda/irmod.h
diff --git a/include/net/irda/irqueue.h b/drivers/staging/irda/include/net/irda/irqueue.h
similarity index 100%
rename from include/net/irda/irqueue.h
rename to drivers/staging/irda/include/net/irda/irqueue.h
diff --git a/include/net/irda/irttp.h b/drivers/staging/irda/include/net/irda/irttp.h
similarity index 100%
rename from include/net/irda/irttp.h
rename to drivers/staging/irda/include/net/irda/irttp.h
diff --git a/include/net/irda/parameters.h b/drivers/staging/irda/include/net/irda/parameters.h
similarity index 100%
rename from include/net/irda/parameters.h
rename to drivers/staging/irda/include/net/irda/parameters.h
diff --git a/include/net/irda/qos.h b/drivers/staging/irda/include/net/irda/qos.h
similarity index 100%
rename from include/net/irda/qos.h
rename to drivers/staging/irda/include/net/irda/qos.h
diff --git a/include/net/irda/timer.h b/drivers/staging/irda/include/net/irda/timer.h
similarity index 100%
rename from include/net/irda/timer.h
rename to drivers/staging/irda/include/net/irda/timer.h
diff --git a/include/net/irda/wrapper.h b/drivers/staging/irda/include/net/irda/wrapper.h
similarity index 100%
rename from include/net/irda/wrapper.h
rename to drivers/staging/irda/include/net/irda/wrapper.h
diff --git a/drivers/staging/irda/net/Makefile b/drivers/staging/irda/net/Makefile
index 187f6c563a4b..bd1a635b88cf 100644
--- a/drivers/staging/irda/net/Makefile
+++ b/drivers/staging/irda/net/Makefile
@@ -2,6 +2,8 @@
# Makefile for the Linux IrDA protocol layer.
#
+subdir-ccflags-y += -I$(srctree)/drivers/staging/irda/include
+
obj-$(CONFIG_IRDA) += irda.o
obj-$(CONFIG_IRLAN) += irlan/
obj-$(CONFIG_IRNET) += irnet/
--
2.14.1
^ permalink raw reply related
* Re: [PATCH 0/4] irda: move it to drivers/staging so we can delete it
From: Joe Perches @ 2017-08-27 15:35 UTC (permalink / raw)
To: Greg Kroah-Hartman, davem, samuel; +Cc: netdev, linux-kernel, devel
In-Reply-To: <20170827150334.32495-1-gregkh@linuxfoundation.org>
On Sun, 2017-08-27 at 17:03 +0200, Greg Kroah-Hartman wrote:
> The IRDA code has long been obsolete and broken. So, to keep people
> from trying to use it, and to prevent people from having to maintain it,
> let's move it to drivers/staging/ so that we can delete it entirely from
> the kernel in a few releases.
MAINTAINERS should be updated as well.
It'd probably be nice to try to get an email to
the irda mailing list too if it still works.
^ permalink raw reply
* Re: [PATCH 0/4] irda: move it to drivers/staging so we can delete it
From: Greg Kroah-Hartman @ 2017-08-27 16:13 UTC (permalink / raw)
To: Joe Perches; +Cc: devel, netdev, samuel, davem, linux-kernel
In-Reply-To: <1503848143.12569.48.camel@perches.com>
On Sun, Aug 27, 2017 at 08:35:43AM -0700, Joe Perches wrote:
> On Sun, 2017-08-27 at 17:03 +0200, Greg Kroah-Hartman wrote:
> > The IRDA code has long been obsolete and broken. So, to keep people
> > from trying to use it, and to prevent people from having to maintain it,
> > let's move it to drivers/staging/ so that we can delete it entirely from
> > the kernel in a few releases.
>
> MAINTAINERS should be updated as well.
>
> It'd probably be nice to try to get an email to
> the irda mailing list too if it still works.
As get_maintainer.pl didn't show it, odds are it doesn't...
^ permalink raw reply
* Re: [PATCH 0/4] irda: move it to drivers/staging so we can delete it
From: Joe Perches @ 2017-08-27 16:19 UTC (permalink / raw)
To: Greg Kroah-Hartman; +Cc: devel, netdev, samuel, davem, linux-kernel
In-Reply-To: <20170827161307.GA3528@kroah.com>
On Sun, 2017-08-27 at 18:13 +0200, Greg Kroah-Hartman wrote:
> On Sun, Aug 27, 2017 at 08:35:43AM -0700, Joe Perches wrote:
> > On Sun, 2017-08-27 at 17:03 +0200, Greg Kroah-Hartman wrote:
> > > The IRDA code has long been obsolete and broken. So, to keep people
> > > from trying to use it, and to prevent people from having to maintain it,
> > > let's move it to drivers/staging/ so that we can delete it entirely from
> > > the kernel in a few releases.
> >
> >
> > MAINTAINERS should be updated as well.
> >
> > It'd probably be nice to try to get an email to
> > the irda mailing list too if it still works.
>
> As get_maintainer.pl didn't show it, odds are it doesn't...
get_maintainer doesn't show it because it's subscriber-only.
If you want get_maintainer to show it, add -s
$ ./scripts/get_maintainer.pl -s -f net/irda/
Samuel Ortiz <samuel@sortiz.org> (maintainer:IRDA SUBSYSTEM)
"David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING [GENERAL])
irda-users@lists.sourceforge.net (subscriber list:IRDA SUBSYSTEM)
netdev@vger.kernel.org (open list:IRDA SUBSYSTEM)
linux-kernel@vger.kernel.org (open list)
^ permalink raw reply
* Re: [PATCH] DSA support for Micrel KSZ8895
From: Andrew Lunn @ 2017-08-27 16:31 UTC (permalink / raw)
To: Pavel Machek
Cc: Woojung.Huh, nathan.leigh.conrad, vivien.didelot, f.fainelli,
netdev, linux-kernel, Tristram.Ha
In-Reply-To: <20170827123658.GA727@amd>
> +/**
> + * sw_r_phy - read data from PHY register
> + * @sw: The switch instance.
> + * @phy: PHY address to read.
> + * @reg: PHY register to read.
> + * @val: Buffer to store the read data.
> + *
> + * This routine reads data from the PHY register.
> + */
> +static void sw_r_phy(struct ksz_device *sw, u16 phy, u16 reg, u16 *val)
> +{
> + u8 ctrl;
> + u8 restart;
> + u8 link;
> + u8 speed;
> + u8 force;
> + u8 p = phy;
> + u16 data = 0;
> +
> + switch (reg) {
> + case PHY_REG_CTRL:
> + ksz_pread8(sw, p, P_LOCAL_CTRL, &ctrl);
> + ksz_pread8(sw, p, P_NEG_RESTART_CTRL, &restart);
> + ksz_pread8(sw, p, P_SPEED_STATUS, &speed);
> + ksz_pread8(sw, p, P_FORCE_CTRL, &force);
> + if (restart & PORT_PHY_LOOPBACK)
> + data |= PHY_LOOPBACK;
> + if (force & PORT_FORCE_100_MBIT)
> + data |= PHY_SPEED_100MBIT;
> + if (!(force & PORT_AUTO_NEG_DISABLE))
> + data |= PHY_AUTO_NEG_ENABLE;
> + if (restart & PORT_POWER_DOWN)
> + data |= PHY_POWER_DOWN;
> + if (restart & PORT_AUTO_NEG_RESTART)
> + data |= PHY_AUTO_NEG_RESTART;
> + if (force & PORT_FORCE_FULL_DUPLEX)
> + data |= PHY_FULL_DUPLEX;
> + if (speed & PORT_HP_MDIX)
> + data |= PHY_HP_MDIX;
> + if (restart & PORT_FORCE_MDIX)
> + data |= PHY_FORCE_MDIX;
> + if (restart & PORT_AUTO_MDIX_DISABLE)
> + data |= PHY_AUTO_MDIX_DISABLE;
> + if (restart & PORT_TX_DISABLE)
> + data |= PHY_TRANSMIT_DISABLE;
> + if (restart & PORT_LED_OFF)
> + data |= PHY_LED_DISABLE;
> + break;
> + case PHY_REG_STATUS:
> + ksz_pread8(sw, p, P_LINK_STATUS, &link);
> + ksz_pread8(sw, p, P_SPEED_STATUS, &speed);
> + data = PHY_100BTX_FD_CAPABLE |
> + PHY_100BTX_CAPABLE |
> + PHY_10BT_FD_CAPABLE |
> + PHY_10BT_CAPABLE |
> + PHY_AUTO_NEG_CAPABLE;
> + if (link & PORT_AUTO_NEG_COMPLETE)
> + data |= PHY_AUTO_NEG_ACKNOWLEDGE;
> + if (link & PORT_STAT_LINK_GOOD)
> + data |= PHY_LINK_STATUS;
> + break;
> + case PHY_REG_ID_1:
> + data = KSZ8895_ID_HI;
> + break;
> + case PHY_REG_ID_2:
> + data = KSZ8895_ID_LO;
> + break;
According to the datasheet, the PHY has the normal ID registers,
which have the value 0x0022, 0x1450. So it should be possible to have
a standard PHY driver in drivers/net/phy.
In fact, the IDs suggest it is a micrel phy, and 1430, 1435 are
already supported. So it could be you only need minor modifications to
the micrel.c.
Andrew
^ permalink raw reply
* Re: [PATCH] DSA support for Micrel KSZ8895
From: Andrew Lunn @ 2017-08-27 16:44 UTC (permalink / raw)
To: Pavel Machek
Cc: Woojung.Huh, nathan.leigh.conrad, vivien.didelot, f.fainelli,
netdev, linux-kernel, Tristram.Ha
In-Reply-To: <20170827123658.GA727@amd>
> No, tag_ksz part probably is not acceptable. Do you see solution
> better than just copying it into tag_ksz1 file?
How about something like this, which needs further work to actually
compile, but should give you the idea.
Andrew
index 99e38af85fc5..843e77b7c270 100644
--- a/net/dsa/dsa.c
+++ b/net/dsa/dsa.c
@@ -49,8 +49,11 @@ const struct dsa_device_ops *dsa_device_ops[DSA_TAG_LAST] = {
#ifdef CONFIG_NET_DSA_TAG_EDSA
[DSA_TAG_PROTO_EDSA] = &edsa_netdev_ops,
#endif
-#ifdef CONFIG_NET_DSA_TAG_KSZ
- [DSA_TAG_PROTO_KSZ] = &ksz_netdev_ops,
+#ifdef CONFIG_NET_DSA_TAG_KSZ_8K
+ [DSA_TAG_PROTO_KSZ8K] = &ksz8k_netdev_ops,
+#endif
+#ifdef CONFIG_NET_DSA_TAG_KSZ_9K
+ [DSA_TAG_PROTO_KSZ9K] = &ksz9k_netdev_ops,
#endif
#ifdef CONFIG_NET_DSA_TAG_LAN9303
[DSA_TAG_PROTO_LAN9303] = &lan9303_netdev_ops,
diff --git a/net/dsa/tag_ksz.c b/net/dsa/tag_ksz.c
index de66ca8e6201..398b833889f1 100644
--- a/net/dsa/tag_ksz.c
+++ b/net/dsa/tag_ksz.c
@@ -35,6 +35,9 @@
static struct sk_buff *ksz_xmit(struct sk_buff *skb, struct net_device *dev)
{
struct dsa_slave_priv *p = netdev_priv(dev);
+ struct dsa_port *dp = p->dp;
+ struct dsa_switch *ds = dp->ds;
+ struct dsa_switch_tree *dst = ds->dst;
struct sk_buff *nskb;
int padlen;
u8 *tag;
@@ -69,8 +72,14 @@ static struct sk_buff *ksz_xmit(struct sk_buff *skb, struct net_device *dev)
}
tag = skb_put(nskb, KSZ_INGRESS_TAG_LEN);
- tag[0] = 0;
- tag[1] = 1 << p->dp->index; /* destination port */
+ if (dst->tag_ops == ksz8k_netdev_ops) {
+ tag[0] = 1 << p->dp->index; /* destination port */0;
+ tag[1] = 0;
+ }
+
+ if (dst->tag_ops == ksz9k_netdev_ops) {
+ tag[0] = 0;
+ tag[1] = 1 << p->dp->index; /* destination port */
return nskb;
}
@@ -98,7 +107,12 @@ static struct sk_buff *ksz_rcv(struct sk_buff *skb, struct net_device *dev,
return skb;
}
-const struct dsa_device_ops ksz_netdev_ops = {
+const struct dsa_device_ops ksz8k_netdev_ops = {
+ .xmit = ksz_xmit,
+ .rcv = ksz_rcv,
+};
+
+const struct dsa_device_ops ksz9k_netdev_ops = {
.xmit = ksz_xmit,
.rcv = ksz_rcv,
};
^ permalink raw reply related
* Re: [PATCH 0/4] irda: move it to drivers/staging so we can delete it
From: Greg Kroah-Hartman @ 2017-08-27 16:53 UTC (permalink / raw)
To: Joe Perches; +Cc: devel, netdev, samuel, davem, linux-kernel
In-Reply-To: <1503850759.12569.50.camel@perches.com>
On Sun, Aug 27, 2017 at 09:19:19AM -0700, Joe Perches wrote:
> On Sun, 2017-08-27 at 18:13 +0200, Greg Kroah-Hartman wrote:
> > On Sun, Aug 27, 2017 at 08:35:43AM -0700, Joe Perches wrote:
> > > On Sun, 2017-08-27 at 17:03 +0200, Greg Kroah-Hartman wrote:
> > > > The IRDA code has long been obsolete and broken. So, to keep people
> > > > from trying to use it, and to prevent people from having to maintain it,
> > > > let's move it to drivers/staging/ so that we can delete it entirely from
> > > > the kernel in a few releases.
> > >
> > >
> > > MAINTAINERS should be updated as well.
> > >
> > > It'd probably be nice to try to get an email to
> > > the irda mailing list too if it still works.
> >
> > As get_maintainer.pl didn't show it, odds are it doesn't...
>
> get_maintainer doesn't show it because it's subscriber-only.
> If you want get_maintainer to show it, add -s
>
> $ ./scripts/get_maintainer.pl -s -f net/irda/
> Samuel Ortiz <samuel@sortiz.org> (maintainer:IRDA SUBSYSTEM)
> "David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING [GENERAL])
> irda-users@lists.sourceforge.net (subscriber list:IRDA SUBSYSTEM)
> netdev@vger.kernel.org (open list:IRDA SUBSYSTEM)
> linux-kernel@vger.kernel.org (open list)
Sorry, am not going to subscribe to a random list just to send patches
that delete the subsystem :)
netdev@ should be all that is needed here anyway...
thanks,
greg k-h
^ permalink raw reply
* Re: [PATCH] DSA support for Micrel KSZ8895
From: Florian Fainelli @ 2017-08-27 16:56 UTC (permalink / raw)
To: Pavel Machek, Woojung.Huh, nathan.leigh.conrad
Cc: vivien.didelot, netdev, linux-kernel, Tristram.Ha, andrew, pavel
In-Reply-To: <20170827123658.GA727@amd>
On August 27, 2017 5:36:58 AM PDT, Pavel Machek <pavel@denx.de> wrote:
>Hi!
>
>So I fought with the driver a bit more, and now I have something that
>kind-of-works.
>
>"great great hack" belows worries me.
>
>Yeah, disabled code needs to be removed before merge.
>
>No, tag_ksz part probably is not acceptable. Do you see solution
>better than just copying it into tag_ksz1 file?
You could have all Micrel tag implementations live under net/dsa/tag_ksz.c and have e.g: DSA_TAG_PROTO_KSZ for the current (newer) switches and DSA_TAG_PROTO_KSZ_LEGACY (or any other name) for the older switches and you would provide two sets of function pointers depending on which protocol is requested by the switch.
Considering the minor difference needed in tagging here, it might be acceptable to actually keep the current functions and just have the xmit() call check what get_tag_protocol returns and use word 1 or 0 based on that. Even though that's a fast path it shouldn't hurt performance too much. If it does, we can always copy the tagging protocol into dsa_slave_priv so you have a fast access to it.
>
>Any more comments, etc?
The MII emulation bits are interesting, was it not sufficient if you implemented phy_read and phy_write operations that perform the necessary internal PHY accesses or maybe you don't get access to standard MII registers? b53 does such a thing and we merely just need to do a simple shift to access the MII register number, thus avoiding the translation.
>
>Help would be welcome.
I concur with Andrew, try to get a patch series, even an RFC one together so we can review things individually.
How functional is your driver so far? I'd say the basic stuff to get working: counters (debugging), link management (auto-negotiation, forced, etc.) and basic bridging: all ports separate by default and working port to port switching when brought together in a bridge. VLAN, FDB, MDB, other ethtool goodies can be added later on.
--
Florian
^ permalink raw reply
* [PATCH V2 net-next] net-next/hinic: Fix MTU limitation
From: Aviad Krawczyk @ 2017-08-27 17:20 UTC (permalink / raw)
To: davem; +Cc: linux-kernel, netdev, zhaochen6, andrew, Aviad Krawczyk
Fix the hw MTU limitation by setting max_mtu
Signed-off-by: Aviad Krawczyk <aviad.krawczyk@huawei.com>
Signed-off-by: Zhao Chen <zhaochen6@huawei.com>
---
drivers/net/ethernet/huawei/hinic/hinic_main.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_main.c b/drivers/net/ethernet/huawei/hinic/hinic_main.c
index ae7ad48..eb53bd9 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_main.c
+++ b/drivers/net/ethernet/huawei/hinic/hinic_main.c
@@ -919,6 +919,7 @@ static int nic_dev_init(struct pci_dev *pdev)
netdev->netdev_ops = &hinic_netdev_ops;
netdev->ethtool_ops = &hinic_ethtool_ops;
+ netdev->max_mtu = ETH_MAX_MTU;
nic_dev = netdev_priv(netdev);
nic_dev->netdev = netdev;
--
1.9.1
^ permalink raw reply related
* [PATCH net-next] net-next/hinic: fix comparison of a uint16_t type with -1
From: Aviad Krawczyk @ 2017-08-27 17:35 UTC (permalink / raw)
To: davem
Cc: linux-kernel, netdev, zhaochen6, colin.king, dan.carpenter,
Aviad Krawczyk
Remove the search for index of constant buffer size
Signed-off-by: Aviad Krawczyk <aviad.krawczyk@huawei.com>
Signed-off-by: Zhao Chen <zhaochen6@huawei.com>
---
drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c | 37 +-----------------------
drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h | 21 ++++++++++++++
2 files changed, 22 insertions(+), 36 deletions(-)
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c b/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c
index 09dec6d..79b5674 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c
+++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_dev.c
@@ -69,31 +69,6 @@ struct hinic_dev_cap {
u8 rsvd3[208];
};
-struct rx_buf_sz {
- int idx;
- size_t sz;
-};
-
-static struct rx_buf_sz rx_buf_sz_table[] = {
- {0, 32},
- {1, 64},
- {2, 96},
- {3, 128},
- {4, 192},
- {5, 256},
- {6, 384},
- {7, 512},
- {8, 768},
- {9, 1024},
- {10, 1536},
- {11, 2048},
- {12, 3072},
- {13, 4096},
- {14, 8192},
- {15, 16384},
- {-1, -1},
-};
-
/**
* get_capability - convert device capabilities to NIC capabilities
* @hwdev: the HW device to set and convert device capabilities for
@@ -330,7 +305,6 @@ static int set_hw_ioctxt(struct hinic_hwdev *hwdev, unsigned int rq_depth,
struct hinic_cmd_hw_ioctxt hw_ioctxt;
struct pci_dev *pdev = hwif->pdev;
struct hinic_pfhwdev *pfhwdev;
- int i;
if (!HINIC_IS_PF(hwif) && !HINIC_IS_PPF(hwif)) {
dev_err(&pdev->dev, "Unsupported PCI Function type\n");
@@ -344,16 +318,7 @@ static int set_hw_ioctxt(struct hinic_hwdev *hwdev, unsigned int rq_depth,
hw_ioctxt.rq_depth = ilog2(rq_depth);
- for (i = 0; ; i++) {
- if ((rx_buf_sz_table[i].sz == HINIC_RX_BUF_SZ) ||
- (rx_buf_sz_table[i].sz == -1)) {
- hw_ioctxt.rx_buf_sz_idx = rx_buf_sz_table[i].idx;
- break;
- }
- }
-
- if (hw_ioctxt.rx_buf_sz_idx == -1)
- return -EINVAL;
+ hw_ioctxt.rx_buf_sz_idx = HINIC_RX_BUF_SZ_IDX;
hw_ioctxt.sq_depth = ilog2(sq_depth);
diff --git a/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h b/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
index e642a8a..df729a1 100644
--- a/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
+++ b/drivers/net/ethernet/huawei/hinic/hinic_hw_qp.h
@@ -53,7 +53,9 @@
#define HINIC_SQ_DEPTH SZ_4K
#define HINIC_RQ_DEPTH SZ_4K
+/* In any change to HINIC_RX_BUF_SZ, HINIC_RX_BUF_SZ_IDX must be changed */
#define HINIC_RX_BUF_SZ 2048
+#define HINIC_RX_BUF_SZ_IDX HINIC_RX_BUF_SZ_2048_IDX
#define HINIC_MIN_TX_WQE_SIZE(wq) \
ALIGN(HINIC_SQ_WQE_SIZE(1), (wq)->wqebb_size)
@@ -61,6 +63,25 @@
#define HINIC_MIN_TX_NUM_WQEBBS(sq) \
(HINIC_MIN_TX_WQE_SIZE((sq)->wq) / (sq)->wq->wqebb_size)
+enum hinic_rx_buf_sz_idx {
+ HINIC_RX_BUF_SZ_32_IDX,
+ HINIC_RX_BUF_SZ_64_IDX,
+ HINIC_RX_BUF_SZ_96_IDX,
+ HINIC_RX_BUF_SZ_128_IDX,
+ HINIC_RX_BUF_SZ_192_IDX,
+ HINIC_RX_BUF_SZ_256_IDX,
+ HINIC_RX_BUF_SZ_384_IDX,
+ HINIC_RX_BUF_SZ_512_IDX,
+ HINIC_RX_BUF_SZ_768_IDX,
+ HINIC_RX_BUF_SZ_1024_IDX,
+ HINIC_RX_BUF_SZ_1536_IDX,
+ HINIC_RX_BUF_SZ_2048_IDX,
+ HINIC_RX_BUF_SZ_3072_IDX,
+ HINIC_RX_BUF_SZ_4096_IDX,
+ HINIC_RX_BUF_SZ_8192_IDX,
+ HINIC_RX_BUF_SZ_16384_IDX,
+};
+
struct hinic_sq {
struct hinic_hwif *hwif;
--
1.9.1
^ permalink raw reply related
* Re: [PATCH V2 net-next] net-next/hinic: Fix MTU limitation
From: Andrew Lunn @ 2017-08-27 19:13 UTC (permalink / raw)
To: Aviad Krawczyk; +Cc: davem, linux-kernel, netdev, zhaochen6
In-Reply-To: <1503854426-42046-1-git-send-email-aviad.krawczyk@huawei.com>
On Mon, Aug 28, 2017 at 01:20:26AM +0800, Aviad Krawczyk wrote:
> Fix the hw MTU limitation by setting max_mtu
>
> Signed-off-by: Aviad Krawczyk <aviad.krawczyk@huawei.com>
> Signed-off-by: Zhao Chen <zhaochen6@huawei.com>
Reviewed-by: Andrew Lunn <andrew@lunn.ch>
Andrew
^ permalink raw reply
* [PATCH] connector: Delete an error message for a failed memory allocation in cn_queue_alloc_callback_entry()
From: SF Markus Elfring @ 2017-08-27 19:25 UTC (permalink / raw)
To: netdev, Evgeniy Polyakov; +Cc: LKML, kernel-janitors
From: Markus Elfring <elfring@users.sourceforge.net>
Date: Sun, 27 Aug 2017 21:18:37 +0200
Omit an extra message for a memory allocation failure in this function.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
---
drivers/connector/cn_queue.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/drivers/connector/cn_queue.c b/drivers/connector/cn_queue.c
index 1f8bf054d11c..e4f31d679f02 100644
--- a/drivers/connector/cn_queue.c
+++ b/drivers/connector/cn_queue.c
@@ -40,10 +40,8 @@ cn_queue_alloc_callback_entry(struct cn_queue_dev *dev, const char *name,
struct cn_callback_entry *cbq;
cbq = kzalloc(sizeof(*cbq), GFP_KERNEL);
- if (!cbq) {
- pr_err("Failed to create new callback queue.\n");
+ if (!cbq)
return NULL;
- }
atomic_set(&cbq->refcnt, 1);
--
2.14.1
^ permalink raw reply related
* Re: [PATCH v2 0/2] enable hires timer to timeout datagram socket
From: Vallish Vaidyeshwara @ 2017-08-27 20:47 UTC (permalink / raw)
To: David Miller
Cc: shuah, richardcochran, xiyou.wangcong, netdev, linux-kernel,
eduval, anchalag
In-Reply-To: <20170822.213030.1848111782253505433.davem@davemloft.net>
On Tue, Aug 22, 2017 at 09:30:30PM -0700, David Miller wrote:
> From: Vallish Vaidyeshwara <vallish@amazon.com>
> Date: Wed, 23 Aug 2017 00:10:25 +0000
>
> > I am submitting 2 patch series to enable hires timer to timeout
> > datagram sockets (AF_UNIX & AF_INET domain) and test code to test
> > timeout accuracy on these sockets.
>
> This is not reasonable.
>
> If you want high resolution events with real guarantees, please use
> the kernel interfaces which provide this as explained to you as
> feedback by other reviewers.
>
> I'm not applying this, sorry.
Hello David,
I respect the decision not to upstream this patch series, however I
wanted to provide additional details. Application wanting high
resolution events with real guarantees is not the case, but the case
here is regression in system call behavior:
1) Change in system call behavior:
strace from 4.4 test run of waiting for 180 seconds on datagram socket:
10:25:48.239685 setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\264\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0
10:25:48.239755 recvmsg(3, 0x7ffd0a3beec0, 0) = -1 EAGAIN (Resource temporarily unavailable)
10:28:48.236989 fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
strace from 4.9 test run of waiting for 180 seconds on datagram socket times out close to 195 seconds:
setsockopt(3, SOL_SOCKET, SO_RCVTIMEO, "\264\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 16) = 0 <0.000028>
recvmsg(3, 0x7ffd6a2c4380, 0) = -1 EAGAIN (Resource temporarily unavailable) <194.852000>
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0 <0.000018>
This is the change in behavior of system call that is causing our application
to regress on 4.9 kernel. There are events which need to be run on timeouts
and now response time for such timeouts on 4.9 kernel are being triggered
with extended delay of close to 195 seconds as in one of the test runs
shown above.
2) Comparison with MacOS:
I ran the same test on OS X El Capitan version 10.11.6 and the behavior is
consistent with Linux 4.4 Kernel behavior. I have not tested the program on
other flavors of OS like HPUX or AIX or Solaris, but I guess if these OS
implement SO_RCVTIMEO and tested, this behavior will not be different than
Linux 4.4 kernel.
3) Standards Specification:
Opengroups standard does not talk about how quick SO_RCVTIMEO need to respond
for timeouts. However, the standards for select system call do mention that
timeout need to respond quickly. It would be good to restore SO_RCVTIMEO
behavior to 4.4 kernel and have SO_RCVTIMEO be consistent with select timeout.
4) Changing application code:
Any change to application code to accommodate this change of behavior in system
call breaks application migration between 4.4 kernel and 4.9 kernel.
Moreover, making application code change is not feasible in all cases as in
the case where the source code is not available (third party vendor).
Thanks.
-Vallish
^ permalink raw reply
* [PATCH net-next] bridge: fdb add and delete tracepoints
From: Roopa Prabhu @ 2017-08-27 21:33 UTC (permalink / raw)
To: davem; +Cc: netdev, nikolay, bridge
From: Roopa Prabhu <roopa@cumulusnetworks.com>
Tracepoints to trace bridge forwarding database updates.
Signed-off-by: Roopa Prabhu <roopa@cumulusnetworks.com>
---
include/trace/events/bridge.h | 98 +++++++++++++++++++++++++++++++++++++++++++
net/bridge/br_fdb.c | 7 ++++
net/core/net-traces.c | 6 +++
3 files changed, 111 insertions(+)
create mode 100644 include/trace/events/bridge.h
diff --git a/include/trace/events/bridge.h b/include/trace/events/bridge.h
new file mode 100644
index 0000000..e2d52cf
--- /dev/null
+++ b/include/trace/events/bridge.h
@@ -0,0 +1,98 @@
+#undef TRACE_SYSTEM
+#define TRACE_SYSTEM bridge
+
+#if !defined(_TRACE_BRIDGE_H) || defined(TRACE_HEADER_MULTI_READ)
+#define _TRACE_BRIDGE_H
+
+#include <linux/netdevice.h>
+#include <linux/tracepoint.h>
+
+#include "../../../net/bridge/br_private.h"
+
+TRACE_EVENT(br_fdb_add,
+
+ TP_PROTO(struct ndmsg *ndm, struct net_device *dev,
+ const unsigned char *addr, u16 vid, u16 nlh_flags),
+
+ TP_ARGS(ndm, dev, addr, vid, nlh_flags),
+
+ TP_STRUCT__entry(
+ __field(u8, ndm_flags)
+ __string(dev, dev->name)
+ __array(unsigned char, addr, 6)
+ __field(u16, vid)
+ __field(u16, nlh_flags)
+ ),
+
+ TP_fast_assign(
+ __assign_str(dev, dev->name);
+ memcpy(__entry->addr, addr, 6);
+ __entry->vid = vid;
+ __entry->nlh_flags = nlh_flags;
+ __entry->ndm_flags = ndm->ndm_flags;
+ ),
+
+ TP_printk("dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u nlh_flags %x ndm_flags = %x",
+ __get_str(dev), __entry->addr[0], __entry->addr[1],
+ __entry->addr[2], __entry->addr[3], __entry->addr[4],
+ __entry->addr[5], __entry->vid,
+ __entry->nlh_flags, __entry->ndm_flags)
+);
+
+TRACE_EVENT(br_fdb_external_learn_add,
+
+ TP_PROTO(struct net_bridge *br, struct net_bridge_port *p,
+ const unsigned char *addr, u16 vid),
+
+ TP_ARGS(br, p, addr, vid),
+
+ TP_STRUCT__entry(
+ __string(br_dev, br->dev->name)
+ __string(dev, p->dev->name)
+ __array(unsigned char, addr, 6)
+ __field(u16, vid)
+ ),
+
+ TP_fast_assign(
+ __assign_str(br_dev, br ? br->dev->name : "null");
+ __assign_str(dev, p ? p->dev->name : "null");
+ memcpy(__entry->addr, addr, 6);
+ __entry->vid = vid;
+ ),
+
+ TP_printk("br_dev %s port %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u",
+ __get_str(br_dev), __get_str(dev), __entry->addr[0],
+ __entry->addr[1], __entry->addr[2], __entry->addr[3],
+ __entry->addr[4], __entry->addr[5], __entry->vid)
+);
+
+TRACE_EVENT(fdb_delete,
+
+ TP_PROTO(struct net_bridge *br, struct net_bridge_fdb_entry *f),
+
+ TP_ARGS(br, f),
+
+ TP_STRUCT__entry(
+ __string(br_dev, br->dev->name)
+ __string(dev, f->dst ? f->dst->dev->name : "null")
+ __array(unsigned char, addr, 6)
+ __field(u16, vid)
+ ),
+
+ TP_fast_assign(
+ __assign_str(br_dev, br ? br->dev->name : "null");
+ __assign_str(dev, f->dst ? f->dst->dev->name : "null");
+ memcpy(__entry->addr, f->addr.addr, 6);
+ __entry->vid = f->vlan_id;
+ ),
+
+ TP_printk("br_dev %s dev %s addr %02x:%02x:%02x:%02x:%02x:%02x vid %u",
+ __get_str(br_dev), __get_str(dev), __entry->addr[0],
+ __entry->addr[1], __entry->addr[2], __entry->addr[3],
+ __entry->addr[4], __entry->addr[5], __entry->vid)
+);
+
+#endif /* _TRACE_BRIDGE_H */
+
+/* This part must be outside protection */
+#include <trace/define_trace.h>
diff --git a/net/bridge/br_fdb.c b/net/bridge/br_fdb.c
index a79b648..be5e1da 100644
--- a/net/bridge/br_fdb.c
+++ b/net/bridge/br_fdb.c
@@ -25,6 +25,7 @@
#include <asm/unaligned.h>
#include <linux/if_vlan.h>
#include <net/switchdev.h>
+#include <trace/events/bridge.h>
#include "br_private.h"
static struct kmem_cache *br_fdb_cache __read_mostly;
@@ -171,6 +172,8 @@ static void fdb_del_hw_addr(struct net_bridge *br, const unsigned char *addr)
static void fdb_delete(struct net_bridge *br, struct net_bridge_fdb_entry *f)
{
+ trace_fdb_delete(br, f);
+
if (f->is_static)
fdb_del_hw_addr(br, f->addr.addr);
@@ -870,6 +873,8 @@ int br_fdb_add(struct ndmsg *ndm, struct nlattr *tb[],
struct net_bridge *br = NULL;
int err = 0;
+ trace_br_fdb_add(ndm, dev, addr, vid, nlh_flags);
+
if (!(ndm->ndm_state & (NUD_PERMANENT|NUD_NOARP|NUD_REACHABLE))) {
pr_info("bridge: RTM_NEWNEIGH with invalid state %#x\n", ndm->ndm_state);
return -EINVAL;
@@ -1066,6 +1071,8 @@ int br_fdb_external_learn_add(struct net_bridge *br, struct net_bridge_port *p,
bool modified = false;
int err = 0;
+ trace_br_fdb_external_learn_add(br, p, addr, vid);
+
spin_lock_bh(&br->hash_lock);
head = &br->hash[br_mac_hash(addr, vid)];
diff --git a/net/core/net-traces.c b/net/core/net-traces.c
index 4f1468c..4a0292c 100644
--- a/net/core/net-traces.c
+++ b/net/core/net-traces.c
@@ -37,6 +37,12 @@
#include <trace/events/fib6.h>
EXPORT_TRACEPOINT_SYMBOL_GPL(fib6_table_lookup);
#endif
+#if IS_ENABLED(CONFIG_BRIDGE)
+#include <trace/events/bridge.h>
+EXPORT_TRACEPOINT_SYMBOL_GPL(br_fdb_add);
+EXPORT_TRACEPOINT_SYMBOL_GPL(br_fdb_external_learn_add);
+EXPORT_TRACEPOINT_SYMBOL_GPL(fdb_delete);
+#endif
EXPORT_TRACEPOINT_SYMBOL_GPL(kfree_skb);
--
2.1.4
^ permalink raw reply related
* RE: [PATCH] DSA support for Micrel KSZ8895
From: Woojung.Huh @ 2017-08-27 22:03 UTC (permalink / raw)
To: pavel, nathan.leigh.conrad
Cc: vivien.didelot, f.fainelli, netdev, linux-kernel, Tristram.Ha,
andrew
In-Reply-To: <20170827123658.GA727@amd>
Pavel,
Thanks for update and sorry about email format (due to web-access version)
I'll do review when getting back to office later this week.
- Woojung
________________________________________
From: Pavel Machek [pavel@denx.de]
Sent: Sunday, August 27, 2017 8:36 AM
To: Woojung Huh - C21699; nathan.leigh.conrad@gmail.com
Cc: vivien.didelot@savoirfairelinux.com; f.fainelli@gmail.com; netdev@vger.kernel.org; linux-kernel@vger.kernel.org; Tristram.Ha@micrel.com; andrew@lunn.ch; pavel@denx.de
Subject: [PATCH] DSA support for Micrel KSZ8895
Hi!
So I fought with the driver a bit more, and now I have something that
kind-of-works.
"great great hack" belows worries me.
Yeah, disabled code needs to be removed before merge.
No, tag_ksz part probably is not acceptable. Do you see solution
better than just copying it into tag_ksz1 file?
Any more comments, etc?
Help would be welcome.
^ permalink raw reply
* Re: [PATCH] ARM: dts: rk3228-evb: Fix the compiling error
From: Stephen Rothwell @ 2017-08-27 22:32 UTC (permalink / raw)
To: davem; +Cc: David Wu, netdev
In-Reply-To: <20170822215251.2125440b@canb.auug.org.au>
Hi Dave (Miller),
On Tue, 22 Aug 2017 21:52:51 +1000 Stephen Rothwell <sfr@canb.auug.org.au> wrote:
>
> Thanks.
>
> On Tue, 22 Aug 2017 17:24:25 +0800 David Wu <david.wu@rock-chips.com> wrote:
> >
> > This patch solves the following error:
> > arch/arm/boot/dts/rk3228-evb.dtb: ERROR (phandle_references): Reference to non-existent node or label "phy0"
> >
> > Fixess db40f15b53e4 ("ARM: dts: rk3228-evb: Enable the integrated PHY for gmac")
> > Signed-off-by: David Wu <david.wu@rock-chips.com>
>
> Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Ping?
--
Cheers,
Stephen Rothwell
^ permalink raw reply
* Re: [PATCH] igb: check memory allocation failure
From: Waskiewicz Jr, Peter @ 2017-08-27 23:09 UTC (permalink / raw)
To: Christophe JAILLET, Kirsher, Jeffrey T
Cc: intel-wired-lan@lists.osuosl.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
In-Reply-To: <20170827063951.5975-1-christophe.jaillet@wanadoo.fr>
On 8/27/17 2:42 AM, Christophe JAILLET wrote:
> Check memory allocation failures and return -ENOMEM in such cases, as
> already done for other memory allocations in this function.
>
> This avoids NULL pointers dereference.
>
> Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
> ---
> drivers/net/ethernet/intel/igb/igb_main.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
> index fd4a46b03cc8..837d9b46a390 100644
> --- a/drivers/net/ethernet/intel/igb/igb_main.c
> +++ b/drivers/net/ethernet/intel/igb/igb_main.c
> @@ -3162,6 +3162,8 @@ static int igb_sw_init(struct igb_adapter *adapter)
> /* Setup and initialize a copy of the hw vlan table array */
> adapter->shadow_vfta = kcalloc(E1000_VLAN_FILTER_TBL_SIZE, sizeof(u32),
> GFP_ATOMIC);
> + if (!adapter->shadow_vfta)
> + return -ENOMEM;
Looks reasonable to me.
A larger issue though I see in this function is that if we return
-ENOMEM here, and if we return -ENOMEM from igb_init_interrupt_scheme()
below on failure, we leak adapter->mac_table (and adapter->shadow_vfta
in the latter). We should add a proper unwind to free up the memory on
failure.
-PJ
^ permalink raw reply
* Re: [PATCH 0/4] irda: move it to drivers/staging so we can delete it
From: Joe Perches @ 2017-08-27 23:15 UTC (permalink / raw)
To: Greg Kroah-Hartman, irda-users; +Cc: davem, samuel, netdev, linux-kernel, devel
In-Reply-To: <20170827165337.GA5769@kroah.com>
On Sun, 2017-08-27 at 18:53 +0200, Greg Kroah-Hartman wrote:
> On Sun, Aug 27, 2017 at 09:19:19AM -0700, Joe Perches wrote:
> > On Sun, 2017-08-27 at 18:13 +0200, Greg Kroah-Hartman wrote:
> > > On Sun, Aug 27, 2017 at 08:35:43AM -0700, Joe Perches wrote:
> > > > On Sun, 2017-08-27 at 17:03 +0200, Greg Kroah-Hartman wrote:
> > > > > The IRDA code has long been obsolete and broken. So, to keep people
> > > > > from trying to use it, and to prevent people from having to maintain it,
> > > > > let's move it to drivers/staging/ so that we can delete it entirely from
> > > > > the kernel in a few releases.
> > > >
> > > >
> > > > MAINTAINERS should be updated as well.
> > > >
> > > > It'd probably be nice to try to get an email to
> > > > the irda mailing list too if it still works.
> > >
> > > As get_maintainer.pl didn't show it, odds are it doesn't...
> >
> > get_maintainer doesn't show it because it's subscriber-only.
> > If you want get_maintainer to show it, add -s
> >
> > $ ./scripts/get_maintainer.pl -s -f net/irda/
> > Samuel Ortiz <samuel@sortiz.org> (maintainer:IRDA SUBSYSTEM)
> > "David S. Miller" <davem@davemloft.net> (maintainer:NETWORKING [GENERAL])
> > irda-users@lists.sourceforge.net (subscriber list:IRDA SUBSYSTEM)
> > netdev@vger.kernel.org (open list:IRDA SUBSYSTEM)
> > linux-kernel@vger.kernel.org (open list)
>
> Sorry, am not going to subscribe to a random list just to send patches
> that delete the subsystem :)
Then you do a disservice to those that actually might
be using that subsystem.
^ permalink raw reply
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox