diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-22 22:22:33 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-10-22 22:22:33 -0400 |
commit | f09cc910fe3af7e63298105bc0482653eb534c3c (patch) | |
tree | a09dca8a3d033352edff6cb1d911f3cd0e980f1f /net/bluetooth/rfcomm/tty.c | |
parent | 8b0eaccab4584ace24d233214bfee3cb50e49a60 (diff) | |
parent | ea2c47b42f12dadbad9d879fb6df102b9003ab82 (diff) |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
* 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6: (30 commits)
[IPSEC] IPV6: Fix to add tunnel mode SA correctly.
[NET]: Cut off the queue_mapping field from sk_buff
[NET]: Hide the queue_mapping field inside netif_subqueue_stopped
[NET]: Make and use skb_get_queue_mapping
[NET]: Use the skb_set_queue_mapping where appropriate
[INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible.
[INET]: Let inet_diag and friends autoload
[NIU]: Cleanup PAGE_SIZE checks a bit
[NET]: Fix SKB_WITH_OVERHEAD calculation
[ATM]: Fix clip module reload crash.
[TG3]: Update version to 3.85
[TG3]: PCI command adjustment
[TG3]: Add management FW version to ethtool report
[TG3]: Add 5723 support
[Bluetooth] Convert RFCOMM to use kthread API
[Bluetooth] Add constant for Bluetooth socket options level
[Bluetooth] Add support for handling simple eSCO links
[Bluetooth] Add address and channel attribute to RFCOMM TTY device
[Bluetooth] Fix wrong argument in debug code of HIDP
[Bluetooth] Add generic driver for Bluetooth USB devices
...
Diffstat (limited to 'net/bluetooth/rfcomm/tty.c')
-rw-r--r-- | net/bluetooth/rfcomm/tty.c | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/net/bluetooth/rfcomm/tty.c b/net/bluetooth/rfcomm/tty.c index 22a832098d44..e447651a2dbe 100644 --- a/net/bluetooth/rfcomm/tty.c +++ b/net/bluetooth/rfcomm/tty.c | |||
@@ -189,6 +189,23 @@ static struct device *rfcomm_get_device(struct rfcomm_dev *dev) | |||
189 | return conn ? &conn->dev : NULL; | 189 | return conn ? &conn->dev : NULL; |
190 | } | 190 | } |
191 | 191 | ||
192 | static ssize_t show_address(struct device *tty_dev, struct device_attribute *attr, char *buf) | ||
193 | { | ||
194 | struct rfcomm_dev *dev = dev_get_drvdata(tty_dev); | ||
195 | bdaddr_t bdaddr; | ||
196 | baswap(&bdaddr, &dev->dst); | ||
197 | return sprintf(buf, "%s\n", batostr(&bdaddr)); | ||
198 | } | ||
199 | |||
200 | static ssize_t show_channel(struct device *tty_dev, struct device_attribute *attr, char *buf) | ||
201 | { | ||
202 | struct rfcomm_dev *dev = dev_get_drvdata(tty_dev); | ||
203 | return sprintf(buf, "%d\n", dev->channel); | ||
204 | } | ||
205 | |||
206 | static DEVICE_ATTR(address, S_IRUGO, show_address, NULL); | ||
207 | static DEVICE_ATTR(channel, S_IRUGO, show_channel, NULL); | ||
208 | |||
192 | static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc) | 209 | static int rfcomm_dev_add(struct rfcomm_dev_req *req, struct rfcomm_dlc *dlc) |
193 | { | 210 | { |
194 | struct rfcomm_dev *dev; | 211 | struct rfcomm_dev *dev; |
@@ -281,6 +298,14 @@ out: | |||
281 | return err; | 298 | return err; |
282 | } | 299 | } |
283 | 300 | ||
301 | dev_set_drvdata(dev->tty_dev, dev); | ||
302 | |||
303 | if (device_create_file(dev->tty_dev, &dev_attr_address) < 0) | ||
304 | BT_ERR("Failed to create address attribute"); | ||
305 | |||
306 | if (device_create_file(dev->tty_dev, &dev_attr_channel) < 0) | ||
307 | BT_ERR("Failed to create channel attribute"); | ||
308 | |||
284 | return dev->id; | 309 | return dev->id; |
285 | } | 310 | } |
286 | 311 | ||