public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [2.6 patch] drivers/w1/dscore: fix the inline mess
@ 2004-11-22 15:52 Adrian Bunk
  2004-11-22 16:22 ` Evgeniy Polyakov
  0 siblings, 1 reply; 2+ messages in thread
From: Adrian Bunk @ 2004-11-22 15:52 UTC (permalink / raw)
  To: Evgeniy Polyakov; +Cc: sensors, linux-kernel

<--  snip  -->

...
  CC      drivers/w1/ds_w1_bridge.o
drivers/w1/ds_w1_bridge.c: In function `ds9490r_touch_bit':
drivers/w1/dscore.h:154: sorry, unimplemented: inlining failed in call 
to 'ds_touch_bit': function body not available
drivers/w1/ds_w1_bridge.c:37: sorry, unimplemented: called from here
make[2]: *** [drivers/w1/ds_w1_bridge.o] Error 1

<--  snip  -->


The patch below removes inline's in the following cases:
- inline at the function prototype but not at the actual function
- EXPORT_SYMBOL'ed inline functions


diffstat output:
 drivers/w1/dscore.c |   40 ++++++++++++++++++++--------------------
 drivers/w1/dscore.h |   34 +++++++++++++++++-----------------
 2 files changed, 37 insertions(+), 37 deletions(-)


Signed-off-by: Adrian Bunk <bunk@stusta.de>

--- linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.h.old	2004-11-22 15:04:42.000000000 +0100
+++ linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.h	2004-11-22 15:08:14.000000000 +0100
@@ -151,23 +151,23 @@
 
 };
 
-inline int ds_touch_bit(struct ds_device *, u8, u8 *);
-inline int ds_read_byte(struct ds_device *, u8 *);
-inline int ds_read_bit(struct ds_device *, u8 *);
-inline int ds_write_byte(struct ds_device *, u8);
-inline int ds_write_bit(struct ds_device *, u8);
-inline int ds_start_pulse(struct ds_device *, int);
-inline int ds_set_speed(struct ds_device *, int);
-inline int ds_reset(struct ds_device *, struct ds_status *);
-inline int ds_detect(struct ds_device *, struct ds_status *);
-inline int ds_stop_pulse(struct ds_device *, int);
-inline int ds_send_data(struct ds_device *, unsigned char *, int);
-inline int ds_recv_data(struct ds_device *, unsigned char *, int);
-inline int ds_recv_status(struct ds_device *, struct ds_status *);
-inline struct ds_device * ds_get_device(void);
-inline void ds_put_device(struct ds_device *);
-inline int ds_write_block(struct ds_device *, u8 *, int);
-inline int ds_read_block(struct ds_device *, u8 *, int);
+int ds_touch_bit(struct ds_device *, u8, u8 *);
+int ds_read_byte(struct ds_device *, u8 *);
+int ds_read_bit(struct ds_device *, u8 *);
+int ds_write_byte(struct ds_device *, u8);
+int ds_write_bit(struct ds_device *, u8);
+int ds_start_pulse(struct ds_device *, int);
+int ds_set_speed(struct ds_device *, int);
+int ds_reset(struct ds_device *, struct ds_status *);
+int ds_detect(struct ds_device *, struct ds_status *);
+int ds_stop_pulse(struct ds_device *, int);
+int ds_send_data(struct ds_device *, unsigned char *, int);
+int ds_recv_data(struct ds_device *, unsigned char *, int);
+int ds_recv_status(struct ds_device *, struct ds_status *);
+struct ds_device * ds_get_device(void);
+void ds_put_device(struct ds_device *);
+int ds_write_block(struct ds_device *, u8 *, int);
+int ds_read_block(struct ds_device *, u8 *, int);
 
 #endif /* __DSCORE_H */
 
--- linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.c.old	2004-11-22 15:05:19.000000000 +0100
+++ linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.c	2004-11-22 15:07:50.000000000 +0100
@@ -35,26 +35,26 @@
 int ds_probe(struct usb_interface *, const struct usb_device_id *);
 void ds_disconnect(struct usb_interface *);
 
-inline int ds_touch_bit(struct ds_device *, u8, u8 *);
-inline int ds_read_byte(struct ds_device *, u8 *);
-inline int ds_read_bit(struct ds_device *, u8 *);
-inline int ds_write_byte(struct ds_device *, u8);
-inline int ds_write_bit(struct ds_device *, u8);
-inline int ds_start_pulse(struct ds_device *, int);
-inline int ds_set_speed(struct ds_device *, int);
-inline int ds_reset(struct ds_device *, struct ds_status *);
-inline int ds_detect(struct ds_device *, struct ds_status *);
-inline int ds_stop_pulse(struct ds_device *, int);
-inline int ds_send_data(struct ds_device *, unsigned char *, int);
-inline int ds_recv_data(struct ds_device *, unsigned char *, int);
-inline int ds_recv_status(struct ds_device *, struct ds_status *);
-inline struct ds_device * ds_get_device(void);
-inline void ds_put_device(struct ds_device *);
+int ds_touch_bit(struct ds_device *, u8, u8 *);
+int ds_read_byte(struct ds_device *, u8 *);
+int ds_read_bit(struct ds_device *, u8 *);
+int ds_write_byte(struct ds_device *, u8);
+int ds_write_bit(struct ds_device *, u8);
+int ds_start_pulse(struct ds_device *, int);
+int ds_set_speed(struct ds_device *, int);
+int ds_reset(struct ds_device *, struct ds_status *);
+int ds_detect(struct ds_device *, struct ds_status *);
+int ds_stop_pulse(struct ds_device *, int);
+int ds_send_data(struct ds_device *, unsigned char *, int);
+int ds_recv_data(struct ds_device *, unsigned char *, int);
+int ds_recv_status(struct ds_device *, struct ds_status *);
+struct ds_device * ds_get_device(void);
+void ds_put_device(struct ds_device *);
 
 static inline void ds_dump_status(unsigned char *, unsigned char *, int);
-static inline int ds_send_control(struct ds_device *, u16, u16);
-static inline int ds_send_control_mode(struct ds_device *, u16, u16);
-static inline int ds_send_control_cmd(struct ds_device *, u16, u16);
+static int ds_send_control(struct ds_device *, u16, u16);
+static int ds_send_control_mode(struct ds_device *, u16, u16);
+static int ds_send_control_cmd(struct ds_device *, u16, u16);
 
 
 static struct usb_driver ds_driver = {
@@ -503,7 +503,7 @@
 	return 0;
 }
 
-inline int ds_read_block(struct ds_device *dev, u8 *buf, int len)
+int ds_read_block(struct ds_device *dev, u8 *buf, int len)
 {
 	struct ds_status st;
 	int err;
@@ -529,7 +529,7 @@
 	return err;
 }
 
-inline int ds_write_block(struct ds_device *dev, u8 *buf, int len)
+int ds_write_block(struct ds_device *dev, u8 *buf, int len)
 {
 	int err;
 	struct ds_status st;


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [2.6 patch] drivers/w1/dscore: fix the inline mess
  2004-11-22 15:52 [2.6 patch] drivers/w1/dscore: fix the inline mess Adrian Bunk
@ 2004-11-22 16:22 ` Evgeniy Polyakov
  0 siblings, 0 replies; 2+ messages in thread
From: Evgeniy Polyakov @ 2004-11-22 16:22 UTC (permalink / raw)
  To: Adrian Bunk; +Cc: sensors, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 6151 bytes --]

On Mon, 2004-11-22 at 16:52 +0100, Adrian Bunk wrote:
> <--  snip  -->
> 
> ...
>   CC      drivers/w1/ds_w1_bridge.o
> drivers/w1/ds_w1_bridge.c: In function `ds9490r_touch_bit':
> drivers/w1/dscore.h:154: sorry, unimplemented: inlining failed in call 
> to 'ds_touch_bit': function body not available
> drivers/w1/ds_w1_bridge.c:37: sorry, unimplemented: called from here
> make[2]: *** [drivers/w1/ds_w1_bridge.o] Error 1
> 
> <--  snip  -->
> 
> 
> The patch below removes inline's in the following cases:
> - inline at the function prototype but not at the actual function
> - EXPORT_SYMBOL'ed inline functions

I'm ok with your changes and have applied it to my tree, thank you.

> 
> diffstat output:
>  drivers/w1/dscore.c |   40 ++++++++++++++++++++--------------------
>  drivers/w1/dscore.h |   34 +++++++++++++++++-----------------
>  2 files changed, 37 insertions(+), 37 deletions(-)
> 
> 
> Signed-off-by: Adrian Bunk <bunk@stusta.de>
> 
> --- linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.h.old	2004-11-22 15:04:42.000000000 +0100
> +++ linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.h	2004-11-22 15:08:14.000000000 +0100
> @@ -151,23 +151,23 @@
>  
>  };
>  
> -inline int ds_touch_bit(struct ds_device *, u8, u8 *);
> -inline int ds_read_byte(struct ds_device *, u8 *);
> -inline int ds_read_bit(struct ds_device *, u8 *);
> -inline int ds_write_byte(struct ds_device *, u8);
> -inline int ds_write_bit(struct ds_device *, u8);
> -inline int ds_start_pulse(struct ds_device *, int);
> -inline int ds_set_speed(struct ds_device *, int);
> -inline int ds_reset(struct ds_device *, struct ds_status *);
> -inline int ds_detect(struct ds_device *, struct ds_status *);
> -inline int ds_stop_pulse(struct ds_device *, int);
> -inline int ds_send_data(struct ds_device *, unsigned char *, int);
> -inline int ds_recv_data(struct ds_device *, unsigned char *, int);
> -inline int ds_recv_status(struct ds_device *, struct ds_status *);
> -inline struct ds_device * ds_get_device(void);
> -inline void ds_put_device(struct ds_device *);
> -inline int ds_write_block(struct ds_device *, u8 *, int);
> -inline int ds_read_block(struct ds_device *, u8 *, int);
> +int ds_touch_bit(struct ds_device *, u8, u8 *);
> +int ds_read_byte(struct ds_device *, u8 *);
> +int ds_read_bit(struct ds_device *, u8 *);
> +int ds_write_byte(struct ds_device *, u8);
> +int ds_write_bit(struct ds_device *, u8);
> +int ds_start_pulse(struct ds_device *, int);
> +int ds_set_speed(struct ds_device *, int);
> +int ds_reset(struct ds_device *, struct ds_status *);
> +int ds_detect(struct ds_device *, struct ds_status *);
> +int ds_stop_pulse(struct ds_device *, int);
> +int ds_send_data(struct ds_device *, unsigned char *, int);
> +int ds_recv_data(struct ds_device *, unsigned char *, int);
> +int ds_recv_status(struct ds_device *, struct ds_status *);
> +struct ds_device * ds_get_device(void);
> +void ds_put_device(struct ds_device *);
> +int ds_write_block(struct ds_device *, u8 *, int);
> +int ds_read_block(struct ds_device *, u8 *, int);
>  
>  #endif /* __DSCORE_H */
>  
> --- linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.c.old	2004-11-22 15:05:19.000000000 +0100
> +++ linux-2.6.10-rc2-mm3-full/drivers/w1/dscore.c	2004-11-22 15:07:50.000000000 +0100
> @@ -35,26 +35,26 @@
>  int ds_probe(struct usb_interface *, const struct usb_device_id *);
>  void ds_disconnect(struct usb_interface *);
>  
> -inline int ds_touch_bit(struct ds_device *, u8, u8 *);
> -inline int ds_read_byte(struct ds_device *, u8 *);
> -inline int ds_read_bit(struct ds_device *, u8 *);
> -inline int ds_write_byte(struct ds_device *, u8);
> -inline int ds_write_bit(struct ds_device *, u8);
> -inline int ds_start_pulse(struct ds_device *, int);
> -inline int ds_set_speed(struct ds_device *, int);
> -inline int ds_reset(struct ds_device *, struct ds_status *);
> -inline int ds_detect(struct ds_device *, struct ds_status *);
> -inline int ds_stop_pulse(struct ds_device *, int);
> -inline int ds_send_data(struct ds_device *, unsigned char *, int);
> -inline int ds_recv_data(struct ds_device *, unsigned char *, int);
> -inline int ds_recv_status(struct ds_device *, struct ds_status *);
> -inline struct ds_device * ds_get_device(void);
> -inline void ds_put_device(struct ds_device *);
> +int ds_touch_bit(struct ds_device *, u8, u8 *);
> +int ds_read_byte(struct ds_device *, u8 *);
> +int ds_read_bit(struct ds_device *, u8 *);
> +int ds_write_byte(struct ds_device *, u8);
> +int ds_write_bit(struct ds_device *, u8);
> +int ds_start_pulse(struct ds_device *, int);
> +int ds_set_speed(struct ds_device *, int);
> +int ds_reset(struct ds_device *, struct ds_status *);
> +int ds_detect(struct ds_device *, struct ds_status *);
> +int ds_stop_pulse(struct ds_device *, int);
> +int ds_send_data(struct ds_device *, unsigned char *, int);
> +int ds_recv_data(struct ds_device *, unsigned char *, int);
> +int ds_recv_status(struct ds_device *, struct ds_status *);
> +struct ds_device * ds_get_device(void);
> +void ds_put_device(struct ds_device *);
>  
>  static inline void ds_dump_status(unsigned char *, unsigned char *, int);
> -static inline int ds_send_control(struct ds_device *, u16, u16);
> -static inline int ds_send_control_mode(struct ds_device *, u16, u16);
> -static inline int ds_send_control_cmd(struct ds_device *, u16, u16);
> +static int ds_send_control(struct ds_device *, u16, u16);
> +static int ds_send_control_mode(struct ds_device *, u16, u16);
> +static int ds_send_control_cmd(struct ds_device *, u16, u16);
>  
> 
>  static struct usb_driver ds_driver = {
> @@ -503,7 +503,7 @@
>  	return 0;
>  }
>  
> -inline int ds_read_block(struct ds_device *dev, u8 *buf, int len)
> +int ds_read_block(struct ds_device *dev, u8 *buf, int len)
>  {
>  	struct ds_status st;
>  	int err;
> @@ -529,7 +529,7 @@
>  	return err;
>  }
>  
> -inline int ds_write_block(struct ds_device *dev, u8 *buf, int len)
> +int ds_write_block(struct ds_device *dev, u8 *buf, int len)
>  {
>  	int err;
>  	struct ds_status st;
-- 

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2004-11-22 16:55 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-11-22 15:52 [2.6 patch] drivers/w1/dscore: fix the inline mess Adrian Bunk
2004-11-22 16:22 ` Evgeniy Polyakov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox