Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:15.2:Update
hdjmod
hdjmod_kernel_4.15.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File hdjmod_kernel_4.15.patch of Package hdjmod
From: Matthias Bach <marix@marix.org> Date: 2018-02-10 15:00:00 +0100 Subject: Fix compile on kernel 4.15 Upstream: to be done The module no longer compiled on 4.15 diff -Naru hdjmod-1.28o/device.c hdjmod-1.28/device.c --- hdjmod-1.28o/device.c 2009-01-27 15:25:50.000000000 +0100 +++ hdjmod-1.28/device.c 2018-02-10 13:24:32.903039377 +0100 @@ -2373,7 +2373,11 @@ { int rc=-ENODEV; u16 devstatus; +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) + rc = usb_get_std_status(chip->dev, USB_RECIP_DEVICE, 0, &devstatus); +#else rc = usb_get_status(chip->dev, USB_RECIP_DEVICE, 0, &devstatus); +#endif if (rc >= 0) { rc = (rc > 0 ? 0 : -ENODEV); } diff -Naru hdjmod-1.28o/midi.c hdjmod-1.28/midi.c --- hdjmod-1.28o/midi.c 2009-01-27 15:25:50.000000000 +0100 +++ hdjmod-1.28/midi.c 2018-02-10 14:19:57.548542925 +0100 @@ -49,6 +49,9 @@ #ifdef CONFIG_COMPAT #include <linux/compat.h> #endif +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) +#include <linux/timer.h> +#endif #include "djdevioctls.h" #include "device.h" #include "bulk.h" @@ -327,9 +330,16 @@ } /* called after transfers had been interrupted due to some USB error */ + +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) +static void snd_hdjmidi_error_timer(struct timer_list *t) +{ + struct snd_hdjmidi *umidi = from_timer(umidi, t, error_timer); +#else static void snd_hdjmidi_error_timer(unsigned long data) { struct snd_hdjmidi *umidi = (struct snd_hdjmidi *)data; +#endif int i; for (i = 0; i < MIDI_MAX_ENDPOINTS; ++i) { @@ -887,10 +897,14 @@ spin_lock_init(&ep->buffer_lock); snd_hdjmidi_output_initialize_tasklet(ep); #ifdef THROTTLE_MP3_RENDER +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) + timer_setup(&ep->render_delay_timer, midi_render_throttle_timer, 0); +#else init_timer(&ep->render_delay_timer); ep->render_delay_timer.data = (unsigned long)ep; ep->render_delay_timer.function = midi_render_throttle_timer; -#endif +#endif /* LINUX_VERSION_CODE */ +#endif /* THROTTLE_MP3_RENDER */ for (i = 0; i < 0x10; ++i) if (ep_info->out_ep) { @@ -2479,10 +2493,14 @@ umidi->usb_protocol_ops = &snd_hdjmidi_standard_ops; } +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) + timer_setup(&umidi->error_timer, snd_hdjmidi_error_timer, 0); +#else init_timer(&umidi->error_timer); umidi->error_timer.function = snd_hdjmidi_error_timer; umidi->error_timer.data = (unsigned long)umidi; +#endif /* detect the endpoint(s) to use */ memset(endpoints, 0, sizeof(endpoints)); diff -Naru hdjmod-1.28o/midirender.c hdjmod-1.28/midirender.c --- hdjmod-1.28o/midirender.c 2009-01-27 15:25:50.000000000 +0100 +++ hdjmod-1.28/midirender.c 2018-02-10 14:18:03.578774143 +0100 @@ -33,6 +33,9 @@ #include <linux/usb.h> #include <asm/atomic.h> #include <linux/kthread.h> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) +#include <linux/timer.h> +#endif #if ( LINUX_VERSION_CODE <= KERNEL_VERSION(2,6,24) ) #include <sound/driver.h> #endif @@ -597,12 +600,18 @@ } #ifdef THROTTLE_MP3_RENDER +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) +void midi_render_throttle_timer(struct timer_list *t) +{ + struct snd_hdjmidi_out_endpoint* ep = from_timer(ep, t, render_delay_timer); +#else void midi_render_throttle_timer(unsigned long data) { struct snd_hdjmidi_out_endpoint* ep = (struct snd_hdjmidi_out_endpoint*)data; +#endif /* LINUX_VERSION_CODE */ snd_hdjmidi_do_output(ep); } -#endif +#endif /* THROTTLE_MP3_RENDER */ /* * This is called when some data should be transferred to the device diff -Naru hdjmod-1.28o/midirender.h hdjmod-1.28/midirender.h --- hdjmod-1.28o/midirender.h 2009-01-27 15:25:50.000000000 +0100 +++ hdjmod-1.28/midirender.h 2018-02-10 13:53:02.900774283 +0100 @@ -88,8 +88,12 @@ u8 mp3w_check_led_state(struct snd_hdjmidi_out_endpoint* ep, u8 called_from_kthread); #ifdef THROTTLE_MP3_RENDER +#if LINUX_VERSION_CODE >= KERNEL_VERSION(4,15,0) +void midi_render_throttle_timer(struct timer_list *t); +#else void midi_render_throttle_timer(unsigned long data); -#endif +#endif /* LINUX_VERSION_CODE */ +#endif /* THROTTLE_MPĀ§_RENDER */ void snd_hdjmidi_do_output(struct snd_hdjmidi_out_endpoint* ep); void snd_hdjmidi_out_tasklet(unsigned long data); void snd_hdjmidi_output_kill_tasklet(struct snd_hdjmidi_out_endpoint* ep);
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor