Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 43ead78a authored by Joe Perches's avatar Joe Perches Committed by John W. Linville
Browse files

drivers/net/wireless/ray_cs.c: Use iw_handler function prototypes



Change local functions that are cast to iw_handler to
the more standard use with "union iwreq_data *wrqu"
so the iw_handler array no longer needs the casts.

Signed-off-by: default avatarJoe Perches <joe@perches.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent adc009e2
Loading
Loading
Loading
Loading
+93 −111
Original line number Diff line number Diff line
@@ -1113,10 +1113,10 @@ static const struct ethtool_ops netdev_ethtool_ops = {
/*
 * Wireless Handler : get protocol name
 */
static int ray_get_name(struct net_device *dev,
			struct iw_request_info *info, char *cwrq, char *extra)
static int ray_get_name(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	strcpy(cwrq, "IEEE 802.11-FH");
	strcpy(wrqu->name, "IEEE 802.11-FH");
	return 0;
}

@@ -1124,9 +1124,8 @@ static int ray_get_name(struct net_device *dev,
/*
 * Wireless Handler : set frequency
 */
static int ray_set_freq(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_freq *fwrq, char *extra)
static int ray_set_freq(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);
	int err = -EINPROGRESS;	/* Call commit handler */
@@ -1136,10 +1135,10 @@ static int ray_set_freq(struct net_device *dev,
		return -EBUSY;

	/* Setting by channel number */
	if ((fwrq->m > USA_HOP_MOD) || (fwrq->e > 0))
	if ((wrqu->freq.m > USA_HOP_MOD) || (wrqu->freq.e > 0))
		err = -EOPNOTSUPP;
	else
		local->sparm.b5.a_hop_pattern = fwrq->m;
		local->sparm.b5.a_hop_pattern = wrqu->freq.m;

	return err;
}
@@ -1148,14 +1147,13 @@ static int ray_set_freq(struct net_device *dev,
/*
 * Wireless Handler : get frequency
 */
static int ray_get_freq(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_freq *fwrq, char *extra)
static int ray_get_freq(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

	fwrq->m = local->sparm.b5.a_hop_pattern;
	fwrq->e = 0;
	wrqu->freq.m = local->sparm.b5.a_hop_pattern;
	wrqu->freq.e = 0;
	return 0;
}

@@ -1163,9 +1161,8 @@ static int ray_get_freq(struct net_device *dev,
/*
 * Wireless Handler : set ESSID
 */
static int ray_set_essid(struct net_device *dev,
			 struct iw_request_info *info,
			 struct iw_point *dwrq, char *extra)
static int ray_set_essid(struct net_device *dev, struct iw_request_info *info,
			 union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

@@ -1174,19 +1171,17 @@ static int ray_set_essid(struct net_device *dev,
		return -EBUSY;

	/* Check if we asked for `any' */
	if (dwrq->flags == 0) {
	if (wrqu->essid.flags == 0)
		/* Corey : can you do that ? */
		return -EOPNOTSUPP;
	} else {

	/* Check the size of the string */
		if (dwrq->length > IW_ESSID_MAX_SIZE) {
	if (wrqu->essid.length > IW_ESSID_MAX_SIZE)
		return -E2BIG;
		}

	/* Set the ESSID in the card */
	memset(local->sparm.b5.a_current_ess_id, 0, IW_ESSID_MAX_SIZE);
		memcpy(local->sparm.b5.a_current_ess_id, extra, dwrq->length);
	}
	memcpy(local->sparm.b5.a_current_ess_id, extra, wrqu->essid.length);

	return -EINPROGRESS;	/* Call commit handler */
}
@@ -1195,9 +1190,8 @@ static int ray_set_essid(struct net_device *dev,
/*
 * Wireless Handler : get ESSID
 */
static int ray_get_essid(struct net_device *dev,
			 struct iw_request_info *info,
			 struct iw_point *dwrq, char *extra)
static int ray_get_essid(struct net_device *dev, struct iw_request_info *info,
			 union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

@@ -1205,8 +1199,8 @@ static int ray_get_essid(struct net_device *dev,
	memcpy(extra, local->sparm.b5.a_current_ess_id, IW_ESSID_MAX_SIZE);

	/* Push it out ! */
	dwrq->length = strlen(extra);
	dwrq->flags = 1;	/* active */
	wrqu->essid.length = strlen(extra);
	wrqu->essid.flags = 1;	/* active */

	return 0;
}
@@ -1215,14 +1209,13 @@ static int ray_get_essid(struct net_device *dev,
/*
 * Wireless Handler : get AP address
 */
static int ray_get_wap(struct net_device *dev,
		       struct iw_request_info *info,
		       struct sockaddr *awrq, char *extra)
static int ray_get_wap(struct net_device *dev, struct iw_request_info *info,
		       union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

	memcpy(awrq->sa_data, local->bss_id, ETH_ALEN);
	awrq->sa_family = ARPHRD_ETHER;
	memcpy(wrqu->ap_addr.sa_data, local->bss_id, ETH_ALEN);
	wrqu->ap_addr.sa_family = ARPHRD_ETHER;

	return 0;
}
@@ -1231,9 +1224,8 @@ static int ray_get_wap(struct net_device *dev,
/*
 * Wireless Handler : set Bit-Rate
 */
static int ray_set_rate(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_param *vwrq, char *extra)
static int ray_set_rate(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

@@ -1242,15 +1234,15 @@ static int ray_set_rate(struct net_device *dev,
		return -EBUSY;

	/* Check if rate is in range */
	if ((vwrq->value != 1000000) && (vwrq->value != 2000000))
	if ((wrqu->bitrate.value != 1000000) && (wrqu->bitrate.value != 2000000))
		return -EINVAL;

	/* Hack for 1.5 Mb/s instead of 2 Mb/s */
	if ((local->fw_ver == 0x55) &&	/* Please check */
	    (vwrq->value == 2000000))
	    (wrqu->bitrate.value == 2000000))
		local->net_default_tx_rate = 3;
	else
		local->net_default_tx_rate = vwrq->value / 500000;
		local->net_default_tx_rate = wrqu->bitrate.value / 500000;

	return 0;
}
@@ -1259,17 +1251,16 @@ static int ray_set_rate(struct net_device *dev,
/*
 * Wireless Handler : get Bit-Rate
 */
static int ray_get_rate(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_param *vwrq, char *extra)
static int ray_get_rate(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

	if (local->net_default_tx_rate == 3)
		vwrq->value = 2000000;	/* Hum... */
		wrqu->bitrate.value = 2000000;	/* Hum... */
	else
		vwrq->value = local->net_default_tx_rate * 500000;
	vwrq->fixed = 0;	/* We are in auto mode */
		wrqu->bitrate.value = local->net_default_tx_rate * 500000;
	wrqu->bitrate.fixed = 0;	/* We are in auto mode */

	return 0;
}
@@ -1278,19 +1269,18 @@ static int ray_get_rate(struct net_device *dev,
/*
 * Wireless Handler : set RTS threshold
 */
static int ray_set_rts(struct net_device *dev,
		       struct iw_request_info *info,
		       struct iw_param *vwrq, char *extra)
static int ray_set_rts(struct net_device *dev, struct iw_request_info *info,
		       union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);
	int rthr = vwrq->value;
	int rthr = wrqu->rts.value;

	/* Reject if card is already initialised */
	if (local->card_status != CARD_AWAITING_PARAM)
		return -EBUSY;

	/* if(wrq->u.rts.fixed == 0) we should complain */
	if (vwrq->disabled)
	if (wrqu->rts.disabled)
		rthr = 32767;
	else {
		if ((rthr < 0) || (rthr > 2347))   /* What's the max packet size ??? */
@@ -1306,16 +1296,15 @@ static int ray_set_rts(struct net_device *dev,
/*
 * Wireless Handler : get RTS threshold
 */
static int ray_get_rts(struct net_device *dev,
		       struct iw_request_info *info,
		       struct iw_param *vwrq, char *extra)
static int ray_get_rts(struct net_device *dev, struct iw_request_info *info,
		       union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

	vwrq->value = (local->sparm.b5.a_rts_threshold[0] << 8)
	wrqu->rts.value = (local->sparm.b5.a_rts_threshold[0] << 8)
	    + local->sparm.b5.a_rts_threshold[1];
	vwrq->disabled = (vwrq->value == 32767);
	vwrq->fixed = 1;
	wrqu->rts.disabled = (wrqu->rts.value == 32767);
	wrqu->rts.fixed = 1;

	return 0;
}
@@ -1324,19 +1313,18 @@ static int ray_get_rts(struct net_device *dev,
/*
 * Wireless Handler : set Fragmentation threshold
 */
static int ray_set_frag(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_param *vwrq, char *extra)
static int ray_set_frag(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);
	int fthr = vwrq->value;
	int fthr = wrqu->frag.value;

	/* Reject if card is already initialised */
	if (local->card_status != CARD_AWAITING_PARAM)
		return -EBUSY;

	/* if(wrq->u.frag.fixed == 0) should complain */
	if (vwrq->disabled)
	if (wrqu->frag.disabled)
		fthr = 32767;
	else {
		if ((fthr < 256) || (fthr > 2347))	/* To check out ! */
@@ -1352,16 +1340,15 @@ static int ray_set_frag(struct net_device *dev,
/*
 * Wireless Handler : get Fragmentation threshold
 */
static int ray_get_frag(struct net_device *dev,
			struct iw_request_info *info,
			struct iw_param *vwrq, char *extra)
static int ray_get_frag(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

	vwrq->value = (local->sparm.b5.a_frag_threshold[0] << 8)
	wrqu->frag.value = (local->sparm.b5.a_frag_threshold[0] << 8)
	    + local->sparm.b5.a_frag_threshold[1];
	vwrq->disabled = (vwrq->value == 32767);
	vwrq->fixed = 1;
	wrqu->frag.disabled = (wrqu->frag.value == 32767);
	wrqu->frag.fixed = 1;

	return 0;
}
@@ -1370,8 +1357,8 @@ static int ray_get_frag(struct net_device *dev,
/*
 * Wireless Handler : set Mode of Operation
 */
static int ray_set_mode(struct net_device *dev,
			struct iw_request_info *info, __u32 *uwrq, char *extra)
static int ray_set_mode(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);
	int err = -EINPROGRESS;	/* Call commit handler */
@@ -1381,7 +1368,7 @@ static int ray_set_mode(struct net_device *dev,
	if (local->card_status != CARD_AWAITING_PARAM)
		return -EBUSY;

	switch (*uwrq) {
	switch (wrqu->mode) {
	case IW_MODE_ADHOC:
		card_mode = 0;
		/* Fall through */
@@ -1399,15 +1386,15 @@ static int ray_set_mode(struct net_device *dev,
/*
 * Wireless Handler : get Mode of Operation
 */
static int ray_get_mode(struct net_device *dev,
			struct iw_request_info *info, __u32 *uwrq, char *extra)
static int ray_get_mode(struct net_device *dev, struct iw_request_info *info,
			union iwreq_data *wrqu, char *extra)
{
	ray_dev_t *local = netdev_priv(dev);

	if (local->sparm.b5.a_network_type)
		*uwrq = IW_MODE_INFRA;
		wrqu->mode = IW_MODE_INFRA;
	else
		*uwrq = IW_MODE_ADHOC;
		wrqu->mode = IW_MODE_ADHOC;

	return 0;
}
@@ -1416,16 +1403,15 @@ static int ray_get_mode(struct net_device *dev,
/*
 * Wireless Handler : get range info
 */
static int ray_get_range(struct net_device *dev,
			 struct iw_request_info *info,
			 struct iw_point *dwrq, char *extra)
static int ray_get_range(struct net_device *dev, struct iw_request_info *info,
			 union iwreq_data *wrqu, char *extra)
{
	struct iw_range *range = (struct iw_range *)extra;

	memset((char *)range, 0, sizeof(struct iw_range));
	memset(range, 0, sizeof(struct iw_range));

	/* Set the length (very important for backward compatibility) */
	dwrq->length = sizeof(struct iw_range);
	wrqu->data.length = sizeof(struct iw_range);

	/* Set the Wireless Extension versions */
	range->we_version_compiled = WIRELESS_EXT;
@@ -1448,8 +1434,7 @@ static int ray_get_range(struct net_device *dev,
/*
 * Wireless Private Handler : set framing mode
 */
static int ray_set_framing(struct net_device *dev,
			   struct iw_request_info *info,
static int ray_set_framing(struct net_device *dev, struct iw_request_info *info,
			   union iwreq_data *wrqu, char *extra)
{
	translate = *(extra);	/* Set framing mode */
@@ -1461,8 +1446,7 @@ static int ray_set_framing(struct net_device *dev,
/*
 * Wireless Private Handler : get framing mode
 */
static int ray_get_framing(struct net_device *dev,
			   struct iw_request_info *info,
static int ray_get_framing(struct net_device *dev, struct iw_request_info *info,
			   union iwreq_data *wrqu, char *extra)
{
	*(extra) = translate;
@@ -1474,8 +1458,7 @@ static int ray_get_framing(struct net_device *dev,
/*
 * Wireless Private Handler : get country
 */
static int ray_get_country(struct net_device *dev,
			   struct iw_request_info *info,
static int ray_get_country(struct net_device *dev, struct iw_request_info *info,
			   union iwreq_data *wrqu, char *extra)
{
	*(extra) = country;
@@ -1487,10 +1470,9 @@ static int ray_get_country(struct net_device *dev,
/*
 * Commit handler : called after a bunch of SET operations
 */
static int ray_commit(struct net_device *dev, struct iw_request_info *info,	/* NULL */
		      void *zwrq,	/* NULL */
		      char *extra)
{ /* NULL */
static int ray_commit(struct net_device *dev, struct iw_request_info *info,
		      union iwreq_data *wrqu, char *extra)
{
	return 0;
}

@@ -1531,28 +1513,28 @@ static iw_stats *ray_get_wireless_stats(struct net_device *dev)
 */

static const iw_handler ray_handler[] = {
	IW_HANDLER(SIOCSIWCOMMIT, (iw_handler)ray_commit),
	IW_HANDLER(SIOCGIWNAME, (iw_handler)ray_get_name),
	IW_HANDLER(SIOCSIWFREQ, (iw_handler)ray_set_freq),
	IW_HANDLER(SIOCGIWFREQ, (iw_handler)ray_get_freq),
	IW_HANDLER(SIOCSIWMODE, (iw_handler)ray_set_mode),
	IW_HANDLER(SIOCGIWMODE, (iw_handler)ray_get_mode),
	IW_HANDLER(SIOCGIWRANGE, (iw_handler)ray_get_range),
	IW_HANDLER(SIOCSIWCOMMIT, ray_commit),
	IW_HANDLER(SIOCGIWNAME, ray_get_name),
	IW_HANDLER(SIOCSIWFREQ, ray_set_freq),
	IW_HANDLER(SIOCGIWFREQ, ray_get_freq),
	IW_HANDLER(SIOCSIWMODE, ray_set_mode),
	IW_HANDLER(SIOCGIWMODE, ray_get_mode),
	IW_HANDLER(SIOCGIWRANGE, ray_get_range),
#ifdef WIRELESS_SPY
	IW_HANDLER(SIOCSIWSPY, iw_handler_set_spy),
	IW_HANDLER(SIOCGIWSPY, iw_handler_get_spy),
	IW_HANDLER(SIOCSIWTHRSPY, iw_handler_set_thrspy),
	IW_HANDLER(SIOCGIWTHRSPY, iw_handler_get_thrspy),
#endif /* WIRELESS_SPY */
	IW_HANDLER(SIOCGIWAP, (iw_handler)ray_get_wap),
	IW_HANDLER(SIOCSIWESSID, (iw_handler)ray_set_essid),
	IW_HANDLER(SIOCGIWESSID, (iw_handler)ray_get_essid),
	IW_HANDLER(SIOCSIWRATE, (iw_handler)ray_set_rate),
	IW_HANDLER(SIOCGIWRATE, (iw_handler)ray_get_rate),
	IW_HANDLER(SIOCSIWRTS, (iw_handler)ray_set_rts),
	IW_HANDLER(SIOCGIWRTS, (iw_handler)ray_get_rts),
	IW_HANDLER(SIOCSIWFRAG, (iw_handler)ray_set_frag),
	IW_HANDLER(SIOCGIWFRAG, (iw_handler)ray_get_frag),
	IW_HANDLER(SIOCGIWAP, ray_get_wap),
	IW_HANDLER(SIOCSIWESSID, ray_set_essid),
	IW_HANDLER(SIOCGIWESSID, ray_get_essid),
	IW_HANDLER(SIOCSIWRATE, ray_set_rate),
	IW_HANDLER(SIOCGIWRATE, ray_get_rate),
	IW_HANDLER(SIOCSIWRTS, ray_set_rts),
	IW_HANDLER(SIOCGIWRTS, ray_get_rts),
	IW_HANDLER(SIOCSIWFRAG, ray_set_frag),
	IW_HANDLER(SIOCGIWFRAG, ray_get_frag),
};

#define SIOCSIPFRAMING	SIOCIWFIRSTPRIV	/* Set framing mode */
@@ -1560,9 +1542,9 @@ static const iw_handler ray_handler[] = {
#define SIOCGIPCOUNTRY	SIOCIWFIRSTPRIV + 3	/* Get country code */

static const iw_handler ray_private_handler[] = {
	[0] = (iw_handler) ray_set_framing,
	[1] = (iw_handler) ray_get_framing,
	[3] = (iw_handler) ray_get_country,
	[0] = ray_set_framing,
	[1] = ray_get_framing,
	[3] = ray_get_country,
};

static const struct iw_priv_args ray_private_args[] = {