diff options
| author | Jiri Kosina <jkosina@suse.cz> | 2011-04-26 04:22:15 -0400 |
|---|---|---|
| committer | Jiri Kosina <jkosina@suse.cz> | 2011-04-26 04:22:59 -0400 |
| commit | 07f9479a40cc778bc1462ada11f95b01360ae4ff (patch) | |
| tree | 0676cf38df3844004bb3ebfd99dfa67a4a8998f5 /net/can | |
| parent | 9d5e6bdb3013acfb311ab407eeca0b6a6a3dedbf (diff) | |
| parent | cd2e49e90f1cae7726c9a2c54488d881d7f1cd1c (diff) | |
Merge branch 'master' into for-next
Fast-forwarded to current state of Linus' tree as there are patches to be
applied for files that didn't exist on the old branch.
Diffstat (limited to 'net/can')
| -rw-r--r-- | net/can/af_can.c | 9 | ||||
| -rw-r--r-- | net/can/bcm.c | 6 | ||||
| -rw-r--r-- | net/can/raw.c | 4 |
3 files changed, 8 insertions, 11 deletions
diff --git a/net/can/af_can.c b/net/can/af_can.c index 702be5a2c956..733d66f1b05a 100644 --- a/net/can/af_can.c +++ b/net/can/af_can.c | |||
| @@ -95,7 +95,7 @@ struct s_pstats can_pstats; /* receive list statistics */ | |||
| 95 | * af_can socket functions | 95 | * af_can socket functions |
| 96 | */ | 96 | */ |
| 97 | 97 | ||
| 98 | static int can_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) | 98 | int can_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) |
| 99 | { | 99 | { |
| 100 | struct sock *sk = sock->sk; | 100 | struct sock *sk = sock->sk; |
| 101 | 101 | ||
| @@ -108,6 +108,7 @@ static int can_ioctl(struct socket *sock, unsigned int cmd, unsigned long arg) | |||
| 108 | return -ENOIOCTLCMD; | 108 | return -ENOIOCTLCMD; |
| 109 | } | 109 | } |
| 110 | } | 110 | } |
| 111 | EXPORT_SYMBOL(can_ioctl); | ||
| 111 | 112 | ||
| 112 | static void can_sock_destruct(struct sock *sk) | 113 | static void can_sock_destruct(struct sock *sk) |
| 113 | { | 114 | { |
| @@ -698,13 +699,9 @@ int can_proto_register(struct can_proto *cp) | |||
| 698 | printk(KERN_ERR "can: protocol %d already registered\n", | 699 | printk(KERN_ERR "can: protocol %d already registered\n", |
| 699 | proto); | 700 | proto); |
| 700 | err = -EBUSY; | 701 | err = -EBUSY; |
| 701 | } else { | 702 | } else |
| 702 | proto_tab[proto] = cp; | 703 | proto_tab[proto] = cp; |
| 703 | 704 | ||
| 704 | /* use generic ioctl function if not defined by module */ | ||
| 705 | if (!cp->ops->ioctl) | ||
| 706 | cp->ops->ioctl = can_ioctl; | ||
| 707 | } | ||
| 708 | spin_unlock(&proto_tab_lock); | 705 | spin_unlock(&proto_tab_lock); |
| 709 | 706 | ||
| 710 | if (err < 0) | 707 | if (err < 0) |
diff --git a/net/can/bcm.c b/net/can/bcm.c index 092dc88a7c64..57b1aed79014 100644 --- a/net/can/bcm.c +++ b/net/can/bcm.c | |||
| @@ -387,7 +387,7 @@ static void bcm_tx_timeout_tsklet(unsigned long data) | |||
| 387 | } | 387 | } |
| 388 | 388 | ||
| 389 | /* | 389 | /* |
| 390 | * bcm_tx_timeout_handler - performes cyclic CAN frame transmissions | 390 | * bcm_tx_timeout_handler - performs cyclic CAN frame transmissions |
| 391 | */ | 391 | */ |
| 392 | static enum hrtimer_restart bcm_tx_timeout_handler(struct hrtimer *hrtimer) | 392 | static enum hrtimer_restart bcm_tx_timeout_handler(struct hrtimer *hrtimer) |
| 393 | { | 393 | { |
| @@ -1569,7 +1569,7 @@ static int bcm_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
| 1569 | return size; | 1569 | return size; |
| 1570 | } | 1570 | } |
| 1571 | 1571 | ||
| 1572 | static struct proto_ops bcm_ops __read_mostly = { | 1572 | static const struct proto_ops bcm_ops = { |
| 1573 | .family = PF_CAN, | 1573 | .family = PF_CAN, |
| 1574 | .release = bcm_release, | 1574 | .release = bcm_release, |
| 1575 | .bind = sock_no_bind, | 1575 | .bind = sock_no_bind, |
| @@ -1578,7 +1578,7 @@ static struct proto_ops bcm_ops __read_mostly = { | |||
| 1578 | .accept = sock_no_accept, | 1578 | .accept = sock_no_accept, |
| 1579 | .getname = sock_no_getname, | 1579 | .getname = sock_no_getname, |
| 1580 | .poll = datagram_poll, | 1580 | .poll = datagram_poll, |
| 1581 | .ioctl = NULL, /* use can_ioctl() from af_can.c */ | 1581 | .ioctl = can_ioctl, /* use can_ioctl() from af_can.c */ |
| 1582 | .listen = sock_no_listen, | 1582 | .listen = sock_no_listen, |
| 1583 | .shutdown = sock_no_shutdown, | 1583 | .shutdown = sock_no_shutdown, |
| 1584 | .setsockopt = sock_no_setsockopt, | 1584 | .setsockopt = sock_no_setsockopt, |
diff --git a/net/can/raw.c b/net/can/raw.c index 883e9d74fddf..649acfa7c70a 100644 --- a/net/can/raw.c +++ b/net/can/raw.c | |||
| @@ -742,7 +742,7 @@ static int raw_recvmsg(struct kiocb *iocb, struct socket *sock, | |||
| 742 | return size; | 742 | return size; |
| 743 | } | 743 | } |
| 744 | 744 | ||
| 745 | static struct proto_ops raw_ops __read_mostly = { | 745 | static const struct proto_ops raw_ops = { |
| 746 | .family = PF_CAN, | 746 | .family = PF_CAN, |
| 747 | .release = raw_release, | 747 | .release = raw_release, |
| 748 | .bind = raw_bind, | 748 | .bind = raw_bind, |
| @@ -751,7 +751,7 @@ static struct proto_ops raw_ops __read_mostly = { | |||
| 751 | .accept = sock_no_accept, | 751 | .accept = sock_no_accept, |
| 752 | .getname = raw_getname, | 752 | .getname = raw_getname, |
| 753 | .poll = datagram_poll, | 753 | .poll = datagram_poll, |
| 754 | .ioctl = NULL, /* use can_ioctl() from af_can.c */ | 754 | .ioctl = can_ioctl, /* use can_ioctl() from af_can.c */ |
| 755 | .listen = sock_no_listen, | 755 | .listen = sock_no_listen, |
| 756 | .shutdown = sock_no_shutdown, | 756 | .shutdown = sock_no_shutdown, |
| 757 | .setsockopt = raw_setsockopt, | 757 | .setsockopt = raw_setsockopt, |
