aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/connector
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2009-07-17 13:13:21 -0400
committerDavid S. Miller <davem@davemloft.net>2009-07-17 13:13:21 -0400
commit0741241c6b80bfd58417e95de984d60c9e9ef2a0 (patch)
tree9fa70e5e918e0735c531988f64b92cb5655baf28 /drivers/connector
parente36aa25a533962b08402530e8443ac804a454e27 (diff)
connector: make callback argument type explicit
The connector documentation states that the argument to the callback function is always a pointer to a struct cn_msg, but rather than encode it in the API itself, it uses a void pointer everywhere. This doesn't make much sense to encode the pointer in documentation as it prevents proper C type checking from occurring and can easily allow people to use the wrong pointer type. So convert the argument type to an explicit struct cn_msg pointer. Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/connector')
-rw-r--r--drivers/connector/cn_proc.c3
-rw-r--r--drivers/connector/cn_queue.c7
-rw-r--r--drivers/connector/connector.c6
3 files changed, 9 insertions, 7 deletions
diff --git a/drivers/connector/cn_proc.c b/drivers/connector/cn_proc.c
index c5afc98e2675..85e5dc0431fe 100644
--- a/drivers/connector/cn_proc.c
+++ b/drivers/connector/cn_proc.c
@@ -202,9 +202,8 @@ static void cn_proc_ack(int err, int rcvd_seq, int rcvd_ack)
202 * cn_proc_mcast_ctl 202 * cn_proc_mcast_ctl
203 * @data: message sent from userspace via the connector 203 * @data: message sent from userspace via the connector
204 */ 204 */
205static void cn_proc_mcast_ctl(void *data) 205static void cn_proc_mcast_ctl(struct cn_msg *msg)
206{ 206{
207 struct cn_msg *msg = data;
208 enum proc_cn_mcast_op *mc_op = NULL; 207 enum proc_cn_mcast_op *mc_op = NULL;
209 int err = 0; 208 int err = 0;
210 209
diff --git a/drivers/connector/cn_queue.c b/drivers/connector/cn_queue.c
index c769ef269fb5..d478aefcd3be 100644
--- a/drivers/connector/cn_queue.c
+++ b/drivers/connector/cn_queue.c
@@ -87,7 +87,9 @@ void cn_queue_wrapper(struct work_struct *work)
87 kfree(d->free); 87 kfree(d->free);
88} 88}
89 89
90static struct cn_callback_entry *cn_queue_alloc_callback_entry(char *name, struct cb_id *id, void (*callback)(void *)) 90static struct cn_callback_entry *
91cn_queue_alloc_callback_entry(char *name, struct cb_id *id,
92 void (*callback)(struct cn_msg *))
91{ 93{
92 struct cn_callback_entry *cbq; 94 struct cn_callback_entry *cbq;
93 95
@@ -120,7 +122,8 @@ int cn_cb_equal(struct cb_id *i1, struct cb_id *i2)
120 return ((i1->idx == i2->idx) && (i1->val == i2->val)); 122 return ((i1->idx == i2->idx) && (i1->val == i2->val));
121} 123}
122 124
123int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id, void (*callback)(void *)) 125int cn_queue_add_callback(struct cn_queue_dev *dev, char *name, struct cb_id *id,
126 void (*callback)(struct cn_msg *))
124{ 127{
125 struct cn_callback_entry *cbq, *__cbq; 128 struct cn_callback_entry *cbq, *__cbq;
126 int found = 0; 129 int found = 0;
diff --git a/drivers/connector/connector.c b/drivers/connector/connector.c
index fd336c5a9057..3f45669f5d76 100644
--- a/drivers/connector/connector.c
+++ b/drivers/connector/connector.c
@@ -269,7 +269,8 @@ static void cn_notify(struct cb_id *id, u32 notify_event)
269 * 269 *
270 * May sleep. 270 * May sleep.
271 */ 271 */
272int cn_add_callback(struct cb_id *id, char *name, void (*callback)(void *)) 272int cn_add_callback(struct cb_id *id, char *name,
273 void (*callback)(struct cn_msg *))
273{ 274{
274 int err; 275 int err;
275 struct cn_dev *dev = &cdev; 276 struct cn_dev *dev = &cdev;
@@ -351,9 +352,8 @@ static int cn_ctl_msg_equals(struct cn_ctl_msg *m1, struct cn_ctl_msg *m2)
351 * 352 *
352 * Used for notification of a request's processing. 353 * Used for notification of a request's processing.
353 */ 354 */
354static void cn_callback(void *data) 355static void cn_callback(struct cn_msg *msg)
355{ 356{
356 struct cn_msg *msg = data;
357 struct cn_ctl_msg *ctl; 357 struct cn_ctl_msg *ctl;
358 struct cn_ctl_entry *ent; 358 struct cn_ctl_entry *ent;
359 u32 size; 359 u32 size;