All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Brownell <david-b@pacbell.net>
To: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>
Cc: linux-wireless@vger.kernel.org, netdev@vger.kernel.org, bjd@jooz.net
Subject: Re: [PATCH 11/14] [rndis_host] Add link_change function pointer to 'struct rndis_data'.
Date: Sun, 27 Jan 2008 08:15:16 -0800	[thread overview]
Message-ID: <200801270815.16812.david-b@pacbell.net> (raw)
In-Reply-To: <20080125225134.11716.2264.stgit@fate.lan>

On Friday 25 January 2008, Jussi Kivilinna wrote:
> Callback to signal link state changes from minidriver to 
> 'subminidrivers'.
> 
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna@mbnet.fi>

Acked-by: David Brownell <dbrownell@users.sourceforge.net>


> ---
> 
>  drivers/net/usb/rndis_host.c |   24 ++++++++++++++++++++----
>  drivers/net/usb/usbnet.h     |    4 ++++
>  2 files changed, 24 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
> index 0813903..800c9d0 100644
> --- a/drivers/net/usb/rndis_host.c
> +++ b/drivers/net/usb/rndis_host.c
> @@ -148,10 +148,26 @@ int rndis_command(struct usbnet *dev, struct rndis_msg_hdr *buf)
>  					request_id, xid);
>  				/* then likely retry */
>  			} else switch (buf->msg_type) {
> -			case RNDIS_MSG_INDICATE: {	/* fault */
> -				// struct rndis_indicate *msg = (void *)buf;
> -				dev_info(&info->control->dev,
> -					"rndis fault indication\n");
> +			case RNDIS_MSG_INDICATE: {	/* fault/event */
> +				struct rndis_indicate *msg = (void *)buf;
> +				int state = 0;
> +
> +				switch (msg->status) {
> +				case RNDIS_STATUS_MEDIA_CONNECT:
> +					state = 1;
> +				case RNDIS_STATUS_MEDIA_DISCONNECT:
> +					dev_info(&info->control->dev,
> +						"rndis media %sconnect\n",
> +						!state?"dis":"");
> +					if (dev->driver_info->link_change)
> +						dev->driver_info->link_change(
> +							dev, state);
> +					break;
> +				default:
> +					dev_info(&info->control->dev,
> +						"rndis indication: 0x%08x\n",
> +						le32_to_cpu(msg->status));
> +				}
>  				}
>  				break;
>  			case RNDIS_MSG_KEEPALIVE: {	/* ping */
> diff --git a/drivers/net/usb/usbnet.h b/drivers/net/usb/usbnet.h
> index 25b63d3..e0501da 100644
> --- a/drivers/net/usb/usbnet.h
> +++ b/drivers/net/usb/usbnet.h
> @@ -121,6 +121,10 @@ struct driver_info {
>  	 * right after minidriver have initialized hardware. */
>  	int	(*early_init)(struct usbnet *dev);
>  
> +	/* called by minidriver when link state changes, state: 0=disconnect,
> +	 * 1=connect */
> +	void	(*link_change)(struct usbnet *dev, int state);
> +
>  	/* for new devices, use the descriptor-reading code instead */
>  	int		in;		/* rx endpoint */
>  	int		out;		/* tx endpoint */
> 



WARNING: multiple messages have this Message-ID (diff)
From: David Brownell <david-b-yBeKhBN/0LDR7s880joybQ@public.gmane.org>
To: Jussi Kivilinna <jussi.kivilinna-E01nCVcF24I@public.gmane.org>
Cc: linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	netdev-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	bjd-a1rhEgazXTw@public.gmane.org
Subject: Re: [PATCH 11/14] [rndis_host] Add link_change function pointer to 'struct rndis_data'.
Date: Sun, 27 Jan 2008 08:15:16 -0800	[thread overview]
Message-ID: <200801270815.16812.david-b@pacbell.net> (raw)
In-Reply-To: <20080125225134.11716.2264.stgit-q/85JClnwdg@public.gmane.org>

On Friday 25 January 2008, Jussi Kivilinna wrote:
> Callback to signal link state changes from minidriver to 
> 'subminidrivers'.
> 
> Signed-off-by: Jussi Kivilinna <jussi.kivilinna-E01nCVcF24I@public.gmane.org>

Acked-by: David Brownell <dbrownell-Rn4VEauK+AKRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>


> ---
> 
>  drivers/net/usb/rndis_host.c |   24 ++++++++++++++++++++----
>  drivers/net/usb/usbnet.h     |    4 ++++
>  2 files changed, 24 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/net/usb/rndis_host.c b/drivers/net/usb/rndis_host.c
> index 0813903..800c9d0 100644
> --- a/drivers/net/usb/rndis_host.c
> +++ b/drivers/net/usb/rndis_host.c
> @@ -148,10 +148,26 @@ int rndis_command(struct usbnet *dev, struct rndis_msg_hdr *buf)
>  					request_id, xid);
>  				/* then likely retry */
>  			} else switch (buf->msg_type) {
> -			case RNDIS_MSG_INDICATE: {	/* fault */
> -				// struct rndis_indicate *msg = (void *)buf;
> -				dev_info(&info->control->dev,
> -					"rndis fault indication\n");
> +			case RNDIS_MSG_INDICATE: {	/* fault/event */
> +				struct rndis_indicate *msg = (void *)buf;
> +				int state = 0;
> +
> +				switch (msg->status) {
> +				case RNDIS_STATUS_MEDIA_CONNECT:
> +					state = 1;
> +				case RNDIS_STATUS_MEDIA_DISCONNECT:
> +					dev_info(&info->control->dev,
> +						"rndis media %sconnect\n",
> +						!state?"dis":"");
> +					if (dev->driver_info->link_change)
> +						dev->driver_info->link_change(
> +							dev, state);
> +					break;
> +				default:
> +					dev_info(&info->control->dev,
> +						"rndis indication: 0x%08x\n",
> +						le32_to_cpu(msg->status));
> +				}
>  				}
>  				break;
>  			case RNDIS_MSG_KEEPALIVE: {	/* ping */
> diff --git a/drivers/net/usb/usbnet.h b/drivers/net/usb/usbnet.h
> index 25b63d3..e0501da 100644
> --- a/drivers/net/usb/usbnet.h
> +++ b/drivers/net/usb/usbnet.h
> @@ -121,6 +121,10 @@ struct driver_info {
>  	 * right after minidriver have initialized hardware. */
>  	int	(*early_init)(struct usbnet *dev);
>  
> +	/* called by minidriver when link state changes, state: 0=disconnect,
> +	 * 1=connect */
> +	void	(*link_change)(struct usbnet *dev, int state);
> +
>  	/* for new devices, use the descriptor-reading code instead */
>  	int		in;		/* rx endpoint */
>  	int		out;		/* tx endpoint */
> 

  reply	other threads:[~2008-01-27 16:29 UTC|newest]

Thread overview: 39+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-25 22:50 [PATCH 00/14][v3]: Driver for Wireless RNDIS USB devices Jussi Kivilinna
2008-01-25 22:50 ` Jussi Kivilinna
2008-01-25 22:50 ` [PATCH 01/14] Fix sparse warning: returning void-valued expression Jussi Kivilinna
2008-01-25 22:50   ` Jussi Kivilinna
2008-01-25 22:50 ` [PATCH 02/14] [cdc_ether] Hardwire CDC descriptors when missing Jussi Kivilinna
2008-01-25 22:50   ` Jussi Kivilinna
2008-01-25 22:50 ` [PATCH 03/14] [rndis_host] Use 1KB buffer in rndis_unbind Jussi Kivilinna
2008-01-25 22:50 ` [PATCH 04/14] [rndis_host] Halt device if rndis_bind fails Jussi Kivilinna
2008-01-25 22:50   ` Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 05/14] [rndis_host] Fix rndis packet filter flags Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 06/14] [usbnet] Use wlan device name for RNDIS wireless devices Jussi Kivilinna
2008-01-25 22:51   ` Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 07/14] [rndis_host] Split up rndis_host.c Jussi Kivilinna
2008-01-25 22:51   ` Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 08/14] [rndis_host] export functions Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 09/14] [usbnet] add driver_priv pointer to 'struct usbnet' Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 10/14] [rndis_host] Add early_init function pointer to 'struct rndis_data' Jussi Kivilinna
2008-01-25 22:51   ` Jussi Kivilinna
2008-01-27 16:14   ` David Brownell
2008-01-27 19:11     ` Jussi Kivilinna
2008-01-27 19:11       ` Jussi Kivilinna
2008-01-25 22:51 ` [PATCH 11/14] [rndis_host] Add link_change " Jussi Kivilinna
2008-01-27 16:15   ` David Brownell [this message]
2008-01-27 16:15     ` David Brownell
2008-01-25 22:51 ` [PATCH 12/14] [rndis_host] Add RNDIS physical medium checking into generic_rndis_bind() Jussi Kivilinna
2008-01-25 22:51   ` Jussi Kivilinna
2008-01-27 16:29   ` David Brownell
2008-01-27 16:29     ` David Brownell
2008-01-27 19:05     ` Jussi Kivilinna
2008-01-27 19:51       ` David Brownell
2008-01-27 19:51         ` David Brownell
2008-01-25 22:51 ` [PATCH 13/14] Move usbnet.h and rndis_host.h to include/linux/usb Jussi Kivilinna
2008-01-27 16:36   ` David Brownell
2008-01-25 22:51 ` [PATCH 14/14] Add new driver 'rndis_wlan' for wireless RNDIS devices Jussi Kivilinna
2008-01-27 16:43   ` David Brownell
2008-01-25 23:09 ` [PATCH 00/14][v3]: Driver for Wireless RNDIS USB devices David Brownell
2008-01-25 23:09   ` David Brownell
2008-01-26 12:21   ` Jussi Kivilinna
2008-01-26 12:21     ` Jussi Kivilinna

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=200801270815.16812.david-b@pacbell.net \
    --to=david-b@pacbell.net \
    --cc=bjd@jooz.net \
    --cc=jussi.kivilinna@mbnet.fi \
    --cc=linux-wireless@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.