2005-03-15 06:34:53

by Matt Mackall

[permalink] [raw]
Subject: [PATCH] reduce __deprecated spew

This patch changes a couple of the noisier deprecations to only warn
on the primary entrypoint (in these cases, the _register functions).
This approach makes it obvious that an interface is going away while
only warning once per user. I suggest we adopt this approach for
future deprecation campaigns.

Signed-off-by: Matt Mackall <[email protected]>

Index: bk/include/linux/pm.h
===================================================================
--- bk.orig/include/linux/pm.h 2005-03-14 22:14:59.000000000 -0800
+++ bk/include/linux/pm.h 2005-03-14 22:17:48.000000000 -0800
@@ -108,17 +108,17 @@ struct pm_dev __deprecated *pm_register(
/*
* Unregister a device with power management
*/
-void __deprecated pm_unregister(struct pm_dev *dev);
+void /*deprecated*/ pm_unregister(struct pm_dev *dev);

/*
* Unregister all devices with matching callback
*/
-void __deprecated pm_unregister_all(pm_callback callback);
+void /*deprecated*/ pm_unregister_all(pm_callback callback);

/*
* Send a request to all devices
*/
-int __deprecated pm_send_all(pm_request_t rqst, void *data);
+int /*deprecated*/ pm_send_all(pm_request_t rqst, void *data);

#else /* CONFIG_PM */

Index: bk/include/linux/module.h
===================================================================
--- bk.orig/include/linux/module.h 2005-03-14 22:14:59.000000000 -0800
+++ bk/include/linux/module.h 2005-03-14 22:17:50.000000000 -0800
@@ -562,9 +562,9 @@ __MODULE_PARM_TYPE(var, type);
#define HAVE_INTER_MODULE
extern void __deprecated inter_module_register(const char *,
struct module *, const void *);
-extern void __deprecated inter_module_unregister(const char *);
-extern const void * __deprecated inter_module_get_request(const char *,
+extern void /*deprecated*/ inter_module_unregister(const char *);
+extern const void * /*deprecated*/ inter_module_get_request(const char *,
const char *);
-extern void __deprecated inter_module_put(const char *);
+extern void /*deprecated*/ inter_module_put(const char *);

#endif /* _LINUX_MODULE_H */


--
Mathematics is the supreme nostalgia of our time.


2005-03-15 06:42:45

by Andrew Morton

[permalink] [raw]
Subject: Re: [PATCH] reduce __deprecated spew

Matt Mackall <[email protected]> wrote:
>
> This patch changes a couple of the noisier deprecations to only warn
> on the primary entrypoint (in these cases, the _register functions).
> This approach makes it obvious that an interface is going away while
> only warning once per user. I suggest we adopt this approach for
> future deprecation campaigns.

But that's going to warn when the deprecated function itself is compiled,
isn't it?

If so, that's backwards. We want to warn when the deprecated function is
_used_, so people go fix up their code, and we can then remove the
deprecated function.

(The intermodule_register and pm_register stuff has been hanging around for
so long that one wonders if we need sterner stimuli, not lesser).

2005-03-15 07:16:35

by Arjan van de Ven

[permalink] [raw]
Subject: Re: [PATCH] reduce __deprecated spew


> (The intermodule_register and pm_register stuff has been hanging around for
> so long that one wonders if we need sterner stimuli, not lesser).

intermodule can just about go (one user left).. we could start by making
the intermodule.c file only build when that one user is selected (that
user is a corner case) to avoid others from accidentally starting to use
it again ...

2005-03-15 13:40:43

by Josh Boyer

[permalink] [raw]
Subject: Re: [PATCH] reduce __deprecated spew

On Tue, 2005-03-15 at 08:16 +0100, Arjan van de Ven wrote:
> > (The intermodule_register and pm_register stuff has been hanging around for
> > so long that one wonders if we need sterner stimuli, not lesser).
>
> intermodule can just about go (one user left).. we could start by making
> the intermodule.c file only build when that one user is selected (that
> user is a corner case) to avoid others from accidentally starting to use
> it again ...

It might be a corner case on PCs, but MTD used quite heavily in embedded
environments. Perhaps it's time it just got fixed. I remember seeing a
patch from Rusty a while ago that was a first run at doing this. Is
that still hanging around somewhere?

josh