aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2022-09-01 16:42:04 +0200
committerTakashi Iwai <tiwai@suse.de>2022-09-01 16:42:04 +0200
commit5136dc8c4b85a47d327b4efc93226ad651c0cb02 (patch)
treee9714f8f56876109ae6abc1b098bb7960f82e9c9
parent9dc3b624bfcc4a915218d3f32a90857f44a74f87 (diff)
downloadhda-emu-5136dc8c4b85a47d327b4efc93226ad651c0cb02.tar.gz
Workaround for 6.0
-rw-r--r--include/asm/bug.h0
-rw-r--r--include/asm/cache.h0
-rw-r--r--include/asm/div64.h0
-rw-r--r--include/asm/rwonce.h0
-rw-r--r--include/asm/timex.h0
-rw-r--r--include/generated/timeconst.h0
-rw-r--r--include/linux/bitmap.h2
-rw-r--r--include/linux/component.h1
-rw-r--r--include/linux/delay.h2
-rw-r--r--include/linux/err.h4
-rw-r--r--include/linux/iopoll.h9
-rw-r--r--include/linux/jiffies.h0
-rw-r--r--include/linux/ktime.h23
-rw-r--r--include/linux/pci.h18
-rw-r--r--include/linux/pm.h10
-rw-r--r--include/linux/sysfs.h3
-rw-r--r--include/linux/time.h0
-rw-r--r--include/uapi/linux/time.h0
-rw-r--r--include/wrapper.h33
-rw-r--r--snd-wrapper.c10
20 files changed, 101 insertions, 14 deletions
diff --git a/include/asm/bug.h b/include/asm/bug.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/asm/bug.h
diff --git a/include/asm/cache.h b/include/asm/cache.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/asm/cache.h
diff --git a/include/asm/div64.h b/include/asm/div64.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/asm/div64.h
diff --git a/include/asm/rwonce.h b/include/asm/rwonce.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/asm/rwonce.h
diff --git a/include/asm/timex.h b/include/asm/timex.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/asm/timex.h
diff --git a/include/generated/timeconst.h b/include/generated/timeconst.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/generated/timeconst.h
diff --git a/include/linux/bitmap.h b/include/linux/bitmap.h
index 68daf42..f7fcd4c 100644
--- a/include/linux/bitmap.h
+++ b/include/linux/bitmap.h
@@ -3,7 +3,9 @@
#include "wrapper.h"
+#ifndef BITS_PER_LONG
#define BITS_PER_LONG (sizeof(long) * 8)
+#endif
#define BITS_TO_LONGS(bits) (((bits) + BITS_PER_LONG - 1) / BITS_PER_LONG)
#define BIT(nr) (1UL << (nr))
#define BIT_MASK(nr) (1UL << ((nr) % BITS_PER_LONG))
diff --git a/include/linux/component.h b/include/linux/component.h
index 10a657e..3bdeff3 100644
--- a/include/linux/component.h
+++ b/include/linux/component.h
@@ -45,4 +45,5 @@ static inline void component_match_add(struct device *master,
compare_data);
}
+static int component_compare_dev_name(struct device *dev, void *p) { return 0; }
#endif
diff --git a/include/linux/delay.h b/include/linux/delay.h
index 1b93c8d..9e4f51e 100644
--- a/include/linux/delay.h
+++ b/include/linux/delay.h
@@ -6,7 +6,7 @@ static inline void udelay(unsigned long x) {}
static inline void msleep(unsigned long x) {}
static inline void ssleep(unsigned long x) {}
static inline void usleep_range(unsigned long min, unsigned long max) {}
-#define HZ 1000
+// #define HZ 1000
#define msecs_to_jiffies(x) (x)
#endif /* __LINUX_DELAY_H */
diff --git a/include/linux/err.h b/include/linux/err.h
index 627729d..049597e 100644
--- a/include/linux/err.h
+++ b/include/linux/err.h
@@ -11,10 +11,6 @@
*/
#define MAX_ERRNO 4095
-#define __must_check
-#define __force
-#define unlikely(x) x
-
#define IS_ERR_VALUE(x) unlikely((x) >= (unsigned long)-MAX_ERRNO)
static inline void * __must_check ERR_PTR(long error)
diff --git a/include/linux/iopoll.h b/include/linux/iopoll.h
new file mode 100644
index 0000000..12a7aa5
--- /dev/null
+++ b/include/linux/iopoll.h
@@ -0,0 +1,9 @@
+#ifndef _LINUX_IOPOLL_H
+#define _LINUX_IOPOLL_H
+
+#define readb_poll_timeout(addr, val, cond, delay_us, timeout_us) ({0;})
+#define readw_poll_timeout(addr, val, cond, delay_us, timeout_us) ({0;})
+#define readl_poll_timeout(addr, val, cond, delay_us, timeout_us) ({0;})
+
+#endif
+
diff --git a/include/linux/jiffies.h b/include/linux/jiffies.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/linux/jiffies.h
diff --git a/include/linux/ktime.h b/include/linux/ktime.h
new file mode 100644
index 0000000..ae1b872
--- /dev/null
+++ b/include/linux/ktime.h
@@ -0,0 +1,23 @@
+#ifndef _LINUX_KTIME_H
+#define _LINUX_KTIME_H
+
+typedef s64 ktime_t;
+#define NSEC_PER_SEC 1000000000L
+#define NSEC_PER_USEC 1000L
+#define ktime_add_ns(kt, nsval) ((kt) + (nsval))
+
+static inline ktime_t ktime_add_us(const ktime_t kt, const u64 usec)
+{
+ return ktime_add_ns(kt, usec * NSEC_PER_USEC);
+}
+
+static inline int ktime_compare(const ktime_t cmp1, const ktime_t cmp2)
+{
+ if (cmp1 < cmp2)
+ return -1;
+ if (cmp1 > cmp2)
+ return 1;
+ return 0;
+}
+
+#endif
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 964309e..7a9281e 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -34,12 +34,18 @@ static inline int pci_read_config_word(struct pci_dev *dev, int where, u16 *val)
* FIXME: dummy functions for ca0132
*/
-static inline void writeb(unsigned char val, void *addr) {}
-static inline unsigned char readb(void *addr) { return 0; }
-static inline void writew(unsigned short val, void *addr) {}
-static inline unsigned short readw(void *addr) { return 0; }
-static inline void writel(unsigned int val, void *addr) {}
-static inline unsigned int readl(void *addr) { return 0; }
+static inline void writeb(unsigned char val, volatile void *addr) {}
+static inline unsigned char readb(const volatile void *addr) { return 0; }
+static inline void writew(unsigned short val, volatile void *addr) {}
+static inline unsigned short readw(const volatile void *addr) { return 0; }
+static inline void writel(unsigned int val, volatile void *addr) {}
+static inline void writel_relaxed(unsigned int val, volatile void *addr) {}
+static inline unsigned int readl(const volatile void *addr) { return 0; }
+static inline unsigned int readl_relaxed(const volatile void *addr) { return 0; }
+static inline u32 ioread32(const volatile void *addr) { return 0; }
+static inline u32 ioread32be(const volatile void *addr) { return 0; }
+static inline void iowrite32(unsigned int val, volatile void *addr) {}
+static inline void iowrite32be(unsigned int val, volatile void *addr) {}
static inline void *pci_iomap(struct pci_dev *pci, int bar, int offset)
{
diff --git a/include/linux/pm.h b/include/linux/pm.h
index 76bb72c..46fbd2e 100644
--- a/include/linux/pm.h
+++ b/include/linux/pm.h
@@ -42,9 +42,19 @@ typedef struct pm_message {
#define PMSG_AUTO_RESUME ((struct pm_message) \
{ .event = PM_EVENT_AUTO_RESUME, })
+enum rpm_status {
+ RPM_INVALID = -1,
+ RPM_ACTIVE = 0,
+ RPM_RESUMING,
+ RPM_SUSPENDED,
+ RPM_SUSPENDING,
+};
+
/* stripped version */
struct dev_pm_info {
pm_message_t power_state;
+ unsigned int runtime_auto:1;
+ enum rpm_status runtime_status;
};
/* stripped version */
diff --git a/include/linux/sysfs.h b/include/linux/sysfs.h
index 67de1f3..7a8b3a7 100644
--- a/include/linux/sysfs.h
+++ b/include/linux/sysfs.h
@@ -75,4 +75,7 @@ static inline int add_uevent_var(struct kobj_uevent_env *env, const char *fmt,
return 0;
}
+#define sysfs_emit(buf, fmt, ...) snprintf(buf, PAGE_SIZE, fmt, ##__VA_ARGS__)
+#define sysfs_emit_at(buf, ofs, fmt, ...) snprintf(buf + ofs, PAGE_SIZE, fmt, ##__VA_ARGS__)
+
#endif /* __LINUX_SYSFS_H */
diff --git a/include/linux/time.h b/include/linux/time.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/linux/time.h
diff --git a/include/uapi/linux/time.h b/include/uapi/linux/time.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/uapi/linux/time.h
diff --git a/include/wrapper.h b/include/wrapper.h
index b2924f9..de30c03 100644
--- a/include/wrapper.h
+++ b/include/wrapper.h
@@ -79,6 +79,9 @@
#define KERN_WARNING "<4>"
#define KERN_ERR "<3>"
+#undef HZ
+#define HZ 250
+
#define pr_fmt(fmt) fmt
#define pr_emerg(fmt, ...) \
printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__)
@@ -103,6 +106,7 @@
/* FIXME */
#define scnprintf snprintf
+#if 0
typedef uint64_t u64;
typedef uint64_t __u64;
typedef int64_t s64;
@@ -119,6 +123,9 @@ typedef uint8_t u8;
typedef uint8_t __u8;
typedef int8_t s8;
typedef int8_t __s8;
+#else
+#include <asm-generic/int-ll64.h>
+#endif
#define USHRT_MAX ((u16)(~0U))
#define SHRT_MAX ((s16)(USHRT_MAX>>1))
@@ -149,12 +156,28 @@ typedef unsigned long dma_addr_t;
typedef unsigned long kernel_ulong_t;
typedef unsigned int uuid_le;
+typedef long __kernel_long_t;
+typedef unsigned long __kernel_ulong_t;
+typedef long long __kernel_time64_t;
+typedef long __kernel_old_time_t;
+typedef long __kernel_suseconds_t;
+
#define PAGE_SIZE 4096
+#ifndef __user
#define __user
+#endif
+#ifndef __bitwise
#define __bitwise
+#endif
+#ifndef __iomem
#define __iomem
+#endif
+#ifndef __must_check
#define __must_check
+#endif
+#define __force
+#define unlikely(x) x
#define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]))
@@ -380,4 +403,14 @@ typedef int wait_queue_entry_t;
#define snd_dma_alloc_pages(type, dev, size, dp) 0
#define snd_dma_free_pages(dp)
+# define do_div(n,base) ({ \
+ uint32_t __base = (base); \
+ uint32_t __rem; \
+ __rem = ((uint64_t)(n)) % __base; \
+ (n) = ((uint64_t)(n)) / __base; \
+ __rem; \
+ })
+
+#define might_sleep_if(cond)
+
#endif /* __HDA_WRAPPER_H */
diff --git a/snd-wrapper.c b/snd-wrapper.c
index cf296c9..8e3e00e 100644
--- a/snd-wrapper.c
+++ b/snd-wrapper.c
@@ -968,9 +968,9 @@ void ledtrig_audio_set(enum led_audio type, enum led_brightness state)
led_devs[type]->brightness_set_blocking(led_devs[type], state);
}
-int devm_led_classdev_register_ext(struct device *parent,
- struct led_classdev *led_cdev,
- struct led_init_data *init_data)
+int led_classdev_register_ext(struct device *parent,
+ struct led_classdev *led_cdev,
+ struct led_init_data *init_data)
{
if (!strcmp(led_cdev->name, "hda::mute")) {
led_devs[LED_AUDIO_MUTE] = led_cdev;
@@ -985,6 +985,10 @@ int devm_led_classdev_register_ext(struct device *parent,
return 0;
}
+void led_classdev_unregister(struct led_classdev *led_cdev)
+{
+}
+
#ifdef SNDRV_CTL_ELEM_ACCESS_SPK_LED
/* XXX called from hda-ctlsh.c */
void __led_trigger(unsigned int flags, long *vals)