Did not see r12158, do not duplicate this patch
git-svn-id: svn://svn.openwrt.org/openwrt/packages@12162 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
parent
b4691ea4b7
commit
0c669b8d69
@ -1,116 +0,0 @@
|
|||||||
Kernel 2.6.26 removes an API previously used by lirc:
|
|
||||||
- http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=c3b19ff06e0808555403491d61e8f0cbbb53e933
|
|
||||||
|
|
||||||
* add compatibility patch for kernels >= 2.6.26, based on upstream CVS.
|
|
||||||
- http://lirc.cvs.sourceforge.net/lirc/lirc/drivers/kcompat.h?r1=5.34&r2=5.36
|
|
||||||
- http://lirc.cvs.sourceforge.net/lirc/lirc/drivers/lirc_dev/lirc_dev.c?r1=1.57&r2=1.58
|
|
||||||
|
|
||||||
Copyright: (C) 2008 Christoph Bartelmus <lirc@bartelmus.de>
|
|
||||||
|
|
||||||
--- a/drivers/kcompat.h
|
|
||||||
+++ b/drivers/kcompat.h
|
|
||||||
@@ -36,10 +36,10 @@
|
|
||||||
class_simple_destroy(cls);
|
|
||||||
}
|
|
||||||
|
|
||||||
-#define lirc_class_device_create(cs, parent, dev, device, fmt, args...) \
|
|
||||||
- class_simple_device_add(cs, dev, device, fmt, ## args)
|
|
||||||
+#define lirc_device_create(cs, parent, dev, fmt, args...) \
|
|
||||||
+ class_simple_device_add(cs, dev, parent, fmt, ## args)
|
|
||||||
|
|
||||||
-static inline void class_device_destroy(lirc_class_t *cls, dev_t devt)
|
|
||||||
+static inline void lirc_device_destroy(lirc_class_t *cls, dev_t devt)
|
|
||||||
{
|
|
||||||
class_simple_device_remove(devt);
|
|
||||||
}
|
|
||||||
@@ -48,20 +48,40 @@
|
|
||||||
|
|
||||||
#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 15)
|
|
||||||
|
|
||||||
-#define lirc_class_device_create(cs, parent, dev, device, fmt, args...) \
|
|
||||||
- class_device_create(cs, dev, device, fmt, ## args)
|
|
||||||
+#define lirc_device_create(cs, parent, dev, fmt, args...) \
|
|
||||||
+ class_device_create(cs, dev, parent, fmt, ## args)
|
|
||||||
|
|
||||||
#else /* >= 2.6.15 */
|
|
||||||
|
|
||||||
-#define lirc_class_device_create class_device_create
|
|
||||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
|
|
||||||
+
|
|
||||||
+#define lirc_device_create(cs, parent, dev, fmt, args...) \
|
|
||||||
+ class_device_create(cs, NULL, dev, parent, fmt, ## args)
|
|
||||||
+
|
|
||||||
+#else /* >= 2.6.26 */
|
|
||||||
+
|
|
||||||
+#define lirc_device_create device_create
|
|
||||||
+
|
|
||||||
+#endif /* >= 2.6.26 */
|
|
||||||
+
|
|
||||||
#define LIRC_DEVFS_PREFIX
|
|
||||||
|
|
||||||
-#endif
|
|
||||||
+#endif /* >= 2.6.15 */
|
|
||||||
|
|
||||||
typedef struct class lirc_class_t;
|
|
||||||
|
|
||||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26)
|
|
||||||
+
|
|
||||||
+#define lirc_device_destroy class_device_destroy
|
|
||||||
+
|
|
||||||
+#else
|
|
||||||
+
|
|
||||||
+#define lirc_device_destroy device_destroy
|
|
||||||
+
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#endif /* >= 2.6.13 */
|
|
||||||
+
|
|
||||||
#elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0)
|
|
||||||
#define LIRC_HAVE_DEVFS
|
|
||||||
#define LIRC_HAVE_DEVFS_24
|
|
||||||
@@ -133,8 +153,8 @@
|
|
||||||
#ifndef LIRC_HAVE_SYSFS
|
|
||||||
#define class_destroy(x) do { } while (0)
|
|
||||||
#define class_create(x, y) NULL
|
|
||||||
-#define class_device_destroy(x, y) do { } while (0)
|
|
||||||
-#define lirc_class_device_create(x, y, z, xx, yy, zz) 0
|
|
||||||
+#define lirc_class_destroy(x, y) do { } while (0)
|
|
||||||
+#define lirc_class_create(x, y, z, xx, yy, zz) 0
|
|
||||||
#define IS_ERR(x) 0
|
|
||||||
typedef struct class_simple
|
|
||||||
{
|
|
||||||
--- a/drivers/lirc_dev/lirc_dev.c
|
|
||||||
+++ b/drivers/lirc_dev/lirc_dev.c
|
|
||||||
@@ -145,7 +145,8 @@
|
|
||||||
#ifdef LIRC_HAVE_DEVFS_26
|
|
||||||
devfs_remove(DEV_LIRC "/%u", ir->p.minor);
|
|
||||||
#endif
|
|
||||||
- class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
|
|
||||||
+ lirc_device_destroy(lirc_class,
|
|
||||||
+ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
|
|
||||||
|
|
||||||
if (ir->buf != ir->p.rbuf) {
|
|
||||||
lirc_buffer_free(ir->buf);
|
|
||||||
@@ -400,9 +401,9 @@
|
|
||||||
S_IFCHR|S_IRUSR|S_IWUSR,
|
|
||||||
DEV_LIRC "/%u", ir->p.minor);
|
|
||||||
#endif
|
|
||||||
- (void) lirc_class_device_create(lirc_class, NULL,
|
|
||||||
- MKDEV(IRCTL_DEV_MAJOR, ir->p.minor),
|
|
||||||
- ir->p.dev, "lirc%u", ir->p.minor);
|
|
||||||
+ (void) lirc_device_create(lirc_class, ir->p.dev,
|
|
||||||
+ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor),
|
|
||||||
+ "lirc%u", ir->p.minor);
|
|
||||||
|
|
||||||
if (p->sample_rate || p->get_queue) {
|
|
||||||
/* try to fire up polling thread */
|
|
||||||
@@ -441,7 +442,8 @@
|
|
||||||
return minor;
|
|
||||||
|
|
||||||
out_sysfs:
|
|
||||||
- class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
|
|
||||||
+ lirc_device_destroy(lirc_class,
|
|
||||||
+ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor));
|
|
||||||
#ifdef LIRC_HAVE_DEVFS_24
|
|
||||||
devfs_unregister(ir->devfs_handle);
|
|
||||||
#endif
|
|
Loading…
x
Reference in New Issue
Block a user