rpms/kernel/F-8 kernel.spec, 1.360, 1.361 linux-2.6-wireless-pending.patch, 1.29, 1.30
John W. Linville (linville)
fedora-extras-commits at redhat.com
Mon Mar 3 22:36:55 UTC 2008
Author: linville
Update of /cvs/pkgs/rpms/kernel/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5459
Modified Files:
kernel.spec linux-2.6-wireless-pending.patch
Log Message:
latest round of wireless updates
Index: kernel.spec
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/kernel.spec,v
retrieving revision 1.360
retrieving revision 1.361
diff -u -r1.360 -r1.361
--- kernel.spec 3 Mar 2008 22:05:39 -0000 1.360
+++ kernel.spec 3 Mar 2008 22:36:06 -0000 1.361
@@ -1913,6 +1913,25 @@
%changelog
+* Mon Mar 03 2008 John W. Linville <linville at redhat.com> 2.6.24.3-15
+- ssb: Add CHIPCO IRQ access functions
+- p54: print unknown eeprom fields
+- rt2x00: Check for 5GHz band in link tuner
+- rt2x00: Release rt2x00 2.1.3
+- mac80211: rework TX filtered frame code
+- mac80211: atomically check whether STA exists already
+- mac80211: Disallow concurrent IBSS/STA mode interfaces
+- mac80211: fix debugfs_sta print_mac() warning
+- mac80211: fix IBSS code
+- adm8211: fix cfg80211 band API conversion
+- mac80211: clarify use of TX status/RX callbacks
+- mac80211: safely free beacon in ieee80211_if_reinit
+- mac80211: remove STA infos last_ack stuff
+- mac80211: split ieee80211_key_alloc/free
+- mac80211: fix key replacing, hw accel
+- b43legacy: Fix nondebug build
+- ath5k: fix all endian issues reported by sparse
+
* Mon Mar 03 2008 Chuck Ebbert <cebbert at redhat.com> 2.6.24.3-14
- Allow i686 kernel to boot on Via C3/C7 processors (#435609)
linux-2.6-wireless-pending.patch:
View full diff with command:
/usr/bin/cvs -f diff -kk -u -N -r 1.29 -r 1.30 linux-2.6-wireless-pending.patch
Index: linux-2.6-wireless-pending.patch
===================================================================
RCS file: /cvs/pkgs/rpms/kernel/F-8/linux-2.6-wireless-pending.patch,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -r1.29 -r1.30
--- linux-2.6-wireless-pending.patch 28 Feb 2008 03:18:34 -0000 1.29
+++ linux-2.6-wireless-pending.patch 3 Mar 2008 22:36:06 -0000 1.30
@@ -1,3 +1,260 @@
+commit e4861829072c61883114c64a3af61f305a789ff0
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Wed Feb 27 13:39:00 2008 +0100
+
+ mac80211: fix key replacing, hw accel
+
+ Even though I thought about it a lot and had also tested it, some
+ of my recent changes in the key code broke replacing keys, making
+ the kernel oops because a key is removed from a list while not on
+ it.
+
+ This patch fixes that using the list as an indication whether or
+ not the key is on it (an empty list means it's not on any list.)
+
+ Also, this patch fixes hw accel enabling, the check for not doing
+ hw accel when the interface is down was lost and is restored by
+ this.
+
+ Additionally, move adding the key to the list into the function
+ __ieee80211_key_replace() for more consistency.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit db4d1169d0b893bfb7923b6526748fe2c5a7373f
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Mon Feb 25 16:27:45 2008 +0100
+
+ mac80211: split ieee80211_key_alloc/free
+
+ In order to RCU-ify sta_info, we need to be able to allocate
+ a key without linking it to an sdata/sta structure (because
+ allocation cannot be done in an rcu critical section). This
+ patch splits up ieee80211_key_alloc() and updates all users
+ appropriately.
+
+ While at it, this patch fixes a number of race conditions
+ such as finally making key replacement atomic, unfortunately
+ at the expense of more complex code.
+
+ Note that this patch documents /existing/ bugs with sta info
+ and key interaction, there is currently a race condition
+ when a sta info is freed without holding the RTNL. This will
+ finally be fixed by a followup patch.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 6f48422a29714ed92f6136d9e7d3ff39c75607d7
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Mon Feb 25 16:27:44 2008 +0100
+
+ mac80211: remove STA infos last_ack stuff
+
+ These things aren't used and the only possible use is within
+ rate control algorithms, however those can, if they need it,
+ keep track of it in their private data. last_ack_ms isn't
+ even updated so completely useless.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e6a5ddf20886206caf1c4a2431f6ff01198ab0f7
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Mon Feb 25 16:27:42 2008 +0100
+
+ mac80211: safely free beacon in ieee80211_if_reinit
+
+ If ieee80211_if_reinit() is called from ieee80211_unregister_hw()
+ then it is possible that the driver will still request a beacon
+ (it is allowed to until ieee80211_unregister_hw() has returned.)
+ This means we need to use an RCU-protected write to the beacon
+ information even in this function.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 2485f7105f20f85c2dbebc67be6b2cb97175fa7e
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Mon Feb 25 16:27:41 2008 +0100
+
+ mac80211: clarify use of TX status/RX callbacks
+
+ This patch clarifies the use of the irqsafe vs. non-irq-safe
+ functions and their respective locking requirements.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 38c07b430b50172b803fe4c7f76cba580ba9931f
+Author: Pavel Roskin <proski at gnu.org>
+Date: Tue Feb 26 17:59:14 2008 -0500
+
+ ath5k: fix all endian issues reported by sparse
+
+ Changes-licensed-under: ISC
+ Signed-off-by: Pavel Roskin <proski at gnu.org>
+ Acked-by: Luis R. Rodriguez <mcgrof at winlab.rutgers.edu>
+ Acked-by: Nick Kossifidis <mickflemm at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit e6084239d39a10bac1186611fe7c523cea92c9ec
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Mon Feb 25 23:22:13 2008 +0100
+
+ rt2x00: Release rt2x00 2.1.3
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 1497074ad79009f8fb465d795f9e0d2a428b7fa2
+Author: Ivo van Doorn <ivdoorn at gmail.com>
+Date: Mon Feb 25 23:20:33 2008 +0100
+
+ rt2x00: Check for 5GHz band in link tuner
+
+ Fix a typo in the link tuner where accidently the
+ 2GHz band was checked instead of the 5GHz band.
+ This forced the link tuner to work in an invalid
+ range for the currently active band.
+
+ Signed-off-by: Ivo van Doorn <IvDoorn at gmail.com>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 58e307398317ab55470547a7d72859c89edd187d
+Author: Florian Fainelli <florian.fainelli at telecomint.eu>
+Date: Mon Feb 25 17:51:53 2008 +0100
+
+ p54: print unknown eeprom fields
+
+ This patch allows p54common to print the
+ uknown EEPROM fields, which can help
+ when debugging/testing devices.
+
+ Signed-off-by: Florian Fainelli <florian.fainelli at telecomint.eu>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 9a89c839f79395426b84cf6da9d56773402b4c0e
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Mon Feb 25 11:12:18 2008 +0100
+
+ adm8211: fix cfg80211 band API conversion
+
+ Insert a missing band assignment.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 8f300ae5b819f7655197925cdb1954edfd906a87
+Author: Michael Buesch <mb at bu3sch.de>
+Date: Sun Feb 24 14:42:29 2008 +0100
+
+ b43legacy: Fix nondebug build
+
+ Fix a typo.
+
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Acked-by: Stefano Brivio <stefano.brivio at polimi.it>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit 28de57d1a9eb7e67badb731297197fcbef0cc19e
+Author: Aurelien Jarno <aurelien at aurel32.net>
+Date: Fri Feb 22 16:14:58 2008 +0100
+
+ ssb: Add CHIPCO IRQ access functions
+
+ This patch adds functions to setup and read the CHIPCO IRQ.
+
+ Signed-off-by: Aurelien Jarno <aurelien at aurel32.net>
+ Signed-off-by: Michael Buesch <mb at bu3sch.de>
+ Signed-off-by: John W. Linville <linville at tuxdriver.com>
+
+commit fba4a1e63723b5ef16c21a90f06520ae37c5da98
+Author: Johannes Berg <johannes at sipsolutions.net>
+Date: Thu Feb 21 11:08:33 2008 +0100
+
+ mac80211: fix IBSS code
+
+ This patch fixes two errors introduced by
+
+ commit 19d35612f3cd7f60dd9174c0100584e21f5a1025
+ Author: Bruno Randolf <bruno at thinktube.com>
+ Date: Mon Feb 18 11:21:36 2008 +0900
+
+ mac80211: enable IBSS merging
+
+ The first error is an endianness problem that sparse found and
+ the second is a build failure when CONFIG_MAC80211_IBSS_DEBUG
+ is not set.
+
+ Signed-off-by: Johannes Berg <johannes at sipsolutions.net>
[...5109 lines suppressed...]
* its 14 bytes. Note we use the control rate and not the
-@@ -533,7 +532,7 @@ static inline void ath5k_hw_write_rate_d
+ * actual rate for this rate. See mac80211 tx.c
* ieee80211_duration() for a brief description of
* what rate we should choose to TX ACKs. */
- tx_time = ieee80211_generic_frame_duration(sc->hw,
+- tx_time = ieee80211_generic_frame_duration(sc->hw,
- sc->vif, 10, control_rate->rate_kbps/100);
-+ sc->vif, 10, &srate);
++ tx_time = le16_to_cpu(ieee80211_generic_frame_duration(sc->hw,
++ sc->vif, 10, &srate));
ath5k_hw_reg_write(ah, tx_time, reg);
@@ -32056,8 +33415,8 @@
/****************\
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c.orig 2008-02-21 14:01:26.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c 2008-02-21 14:02:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c.orig 2008-03-03 16:42:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/initvals.c 2008-03-03 16:46:20.000000000 -0500
@@ -1317,8 +1317,10 @@ int ath5k_hw_write_initvals(struct ath5k
/* For AR5211 */
} else if (ah->ah_version == AR5K_AR5211) {
@@ -32072,8 +33431,8 @@
}
diff -up /dev/null linux-2.6.24.noarch/drivers/net/wireless/ath5k/Kconfig
---- /dev/null 2008-02-21 08:21:48.545426467 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/Kconfig 2008-02-21 14:02:20.000000000 -0500
+--- /dev/null 2008-03-03 08:19:02.806638585 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/Kconfig 2008-03-03 16:46:20.000000000 -0500
@@ -0,0 +1,37 @@
+config ATH5K
+ tristate "Atheros 5xxx wireless cards support"
@@ -32113,8 +33472,8 @@
+ modprobe ath5k debug=0x00000400
+
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c.orig 2008-02-21 14:01:26.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c 2008-02-21 14:02:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c.orig 2008-03-03 16:42:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.c 2008-03-03 16:47:32.000000000 -0500
@@ -80,7 +80,7 @@ MODULE_AUTHOR("Nick Kossifidis");
MODULE_DESCRIPTION("Support for 5xxx series of Atheros 802.11 wireless LAN cards.");
MODULE_SUPPORTED_DEVICE("Atheros 5xxx WLAN cards");
@@ -32641,6 +34000,30 @@
if (ret)
goto err_unmap;
+@@ -1660,11 +1717,11 @@ ath5k_check_ibss_hw_merge(struct ath5k_s
+ u32 hw_tu;
+ struct ieee80211_mgmt *mgmt = (struct ieee80211_mgmt *)skb->data;
+
+- if ((mgmt->frame_control & IEEE80211_FCTL_FTYPE) ==
++ if ((le16_to_cpu(mgmt->frame_control) & IEEE80211_FCTL_FTYPE) ==
+ IEEE80211_FTYPE_MGMT &&
+- (mgmt->frame_control & IEEE80211_FCTL_STYPE) ==
++ (le16_to_cpu(mgmt->frame_control) & IEEE80211_FCTL_STYPE) ==
+ IEEE80211_STYPE_BEACON &&
+- mgmt->u.beacon.capab_info & WLAN_CAPABILITY_IBSS &&
++ le16_to_cpu(mgmt->u.beacon.capab_info) & WLAN_CAPABILITY_IBSS &&
+ memcmp(mgmt->bssid, sc->ah->ah_bssid, ETH_ALEN) == 0) {
+ /*
+ * Received an IBSS beacon with the same BSSID. Hardware might
+@@ -1673,7 +1730,7 @@ ath5k_check_ibss_hw_merge(struct ath5k_s
+ hw_tu = TSF_TO_TU(ath5k_hw_get_tsf64(sc->ah));
+ if (hw_tu >= sc->nexttbtt) {
+ ath5k_beacon_update_timers(sc,
+- mgmt->u.beacon.timestamp);
++ le64_to_cpu(mgmt->u.beacon.timestamp));
+ ATH5K_DBG_UNLIMIT(sc, ATH5K_DEBUG_BEACON,
+ "detected HW merge from received beacon\n");
+ }
@@ -1791,9 +1848,8 @@ accept:
rxs.mactime = ath5k_extend_tsf(sc->ah, ds->ds_rxstat.rs_tstamp);
rxs.flag |= RX_FLAG_TSFT;
@@ -32760,8 +34143,8 @@
case ALG_CCMP:
return -EOPNOTSUPP;
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c.orig 2008-02-21 14:01:26.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c 2008-02-21 14:02:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c.orig 2008-03-03 16:42:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/debug.c 2008-03-03 16:46:20.000000000 -0500
@@ -65,7 +65,7 @@ static unsigned int ath5k_debug;
module_param_named(debug, ath5k_debug, uint, 0);
@@ -32851,8 +34234,8 @@
-#endif /* if ATH5K_DEBUG */
+#endif /* ifdef CONFIG_ATH5K_DEBUG */
diff -up linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h.orig linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h
---- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-02-21 14:01:26.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h 2008-02-21 14:02:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h.orig 2008-03-03 16:42:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/ath5k/base.h 2008-03-03 16:46:20.000000000 -0500
@@ -83,7 +83,7 @@ struct ath5k_txq {
#if CHAN_DEBUG
#define ATH_CHAN_MAX (26+26+26+200+200)
@@ -32898,8 +34281,8 @@
#define ath5k_hw_hasbssidmask(_ah) \
diff -up linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c.orig linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c
---- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c.orig 2008-02-21 14:01:26.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c 2008-02-21 14:02:20.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c.orig 2008-03-03 16:42:47.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/rtl8180_max2820.c 2008-03-03 16:46:20.000000000 -0500
@@ -78,8 +78,9 @@ static void max2820_rf_set_channel(struc
struct ieee80211_conf *conf)
{
@@ -32913,8 +34296,8 @@
/* While philips SA2400 drive the PA bias from
diff -up linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig linux-2.6.24.noarch/drivers/net/wireless/adm8211.c
---- linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig 2008-02-21 14:01:26.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c 2008-02-21 14:05:08.000000000 -0500
+--- linux-2.6.24.noarch/drivers/net/wireless/adm8211.c.orig 2008-03-03 16:42:46.000000000 -0500
++++ linux-2.6.24.noarch/drivers/net/wireless/adm8211.c 2008-03-03 16:47:32.000000000 -0500
@@ -48,6 +48,32 @@ static struct pci_device_id adm8211_pci_
{ 0 }
};
@@ -33066,25 +34449,26 @@
dev->queues = 1; /* ADM8211C supports more, maybe ADM8211B too */
priv->retry_limit = 3;
-@@ -1917,14 +1930,7 @@ static int __devinit adm8211_probe(struc
+@@ -1917,14 +1930,9 @@ static int __devinit adm8211_probe(struc
goto err_free_desc;
}
- priv->channel = priv->modes[0].channels[0].chan;
--
++ priv->channel = 1;
+
- err = ieee80211_register_hwmode(dev, &priv->modes[0]);
- if (err) {
- printk(KERN_ERR "%s (adm8211): Can't register hwmode\n",
- pci_name(pdev));
- goto err_free_desc;
- }
-+ priv->channel = 1;
++ dev->wiphy->bands[IEEE80211_BAND_2GHZ] = &priv->band;
err = ieee80211_register_hw(dev);
if (err) {
diff -up linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig linux-2.6.24.noarch/drivers/ssb/pcmcia.c
---- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig 2008-02-21 13:44:10.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c 2008-02-21 14:05:08.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/pcmcia.c.orig 2008-03-03 16:42:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pcmcia.c 2008-03-03 16:46:20.000000000 -0500
@@ -172,6 +172,22 @@ static int select_core_and_segment(struc
return 0;
}
@@ -33141,8 +34525,8 @@
.write32 = ssb_pcmcia_write32,
};
diff -up linux-2.6.24.noarch/drivers/ssb/main.c.orig linux-2.6.24.noarch/drivers/ssb/main.c
---- linux-2.6.24.noarch/drivers/ssb/main.c.orig 2008-02-21 14:00:25.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/main.c 2008-02-21 14:05:08.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/main.c.orig 2008-03-03 16:42:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/main.c 2008-03-03 16:46:20.000000000 -0500
@@ -505,6 +505,14 @@ error:
return err;
}
@@ -33185,8 +34569,8 @@
.write32 = ssb_ssb_write32,
};
diff -up linux-2.6.24.noarch/drivers/ssb/pci.c.orig linux-2.6.24.noarch/drivers/ssb/pci.c
---- linux-2.6.24.noarch/drivers/ssb/pci.c.orig 2008-02-21 13:44:10.000000000 -0500
-+++ linux-2.6.24.noarch/drivers/ssb/pci.c 2008-02-21 14:05:08.000000000 -0500
+--- linux-2.6.24.noarch/drivers/ssb/pci.c.orig 2008-03-03 16:42:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/pci.c 2008-03-03 16:46:20.000000000 -0500
@@ -572,6 +572,19 @@ static inline int ssb_pci_assert_buspowe
}
#endif /* DEBUG */
@@ -33238,3 +34622,23 @@
.write16 = ssb_pci_write16,
.write32 = ssb_pci_write32,
};
+diff -up linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c
+--- linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c.orig 2008-03-03 16:42:48.000000000 -0500
++++ linux-2.6.24.noarch/drivers/ssb/driver_chipcommon.c 2008-03-03 16:47:32.000000000 -0500
+@@ -353,6 +353,16 @@ void ssb_chipco_watchdog_timer_set(struc
+ chipco_write32(cc, SSB_CHIPCO_WATCHDOG, ticks);
+ }
+
++void ssb_chipco_irq_mask(struct ssb_chipcommon *cc, u32 mask, u32 value)
++{
++ chipco_write32_masked(cc, SSB_CHIPCO_IRQMASK, mask, value);
++}
++
++u32 ssb_chipco_irq_status(struct ssb_chipcommon *cc, u32 mask)
++{
++ return chipco_read32(cc, SSB_CHIPCO_IRQSTAT) & mask;
++}
++
+ u32 ssb_chipco_gpio_in(struct ssb_chipcommon *cc, u32 mask)
+ {
+ return chipco_read32(cc, SSB_CHIPCO_GPIOIN) & mask;
More information about the fedora-extras-commits
mailing list