From 497312cdff2954e08a0f6ca1a5974ead01162f3d Mon Sep 17 00:00:00 2001 From: fritsch Date: Tue, 20 Oct 2015 12:28:59 -0700 Subject: [PATCH] dvbhdhomerun: Fix build with kernel 4.2+ --- .../patches/dvbhdhomerun-linux-4.2.patch | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 packages/linux-drivers/dvbhdhomerun/patches/dvbhdhomerun-linux-4.2.patch diff --git a/packages/linux-drivers/dvbhdhomerun/patches/dvbhdhomerun-linux-4.2.patch b/packages/linux-drivers/dvbhdhomerun/patches/dvbhdhomerun-linux-4.2.patch new file mode 100644 index 0000000000..d0ecedc543 --- /dev/null +++ b/packages/linux-drivers/dvbhdhomerun/patches/dvbhdhomerun-linux-4.2.patch @@ -0,0 +1,73 @@ +From 198aef39dee0357524c88ecc0665312c2c72a0d9 Mon Sep 17 00:00:00 2001 +From: HappyHeyoka +Date: Sat, 25 Jul 2015 19:47:50 +1000 +Subject: [PATCH] Track changes to kernel include 'dvb_frontend.h' where + fe_status_t has gone in line with kernel coding style. Changes should be + backwards compatible (famous last words) + +--- + kernel/dvb_hdhomerun_control_messages.h | 2 +- + kernel/dvb_hdhomerun_fe.c | 6 +++--- + userhdhomerun/hdhomerun_control.cpp | 4 ++-- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/kernel/dvb_hdhomerun_control_messages.h b/kernel/dvb_hdhomerun_control_messages.h +index 45230b1..c22fc80 100644 +--- a/kernel/dvb_hdhomerun_control_messages.h ++++ b/kernel/dvb_hdhomerun_control_messages.h +@@ -60,7 +60,7 @@ struct dvbhdhomerun_control_mesg { + unsigned int type; + union { + unsigned int frequency; +- fe_status_t fe_status; ++ enum fe_status frontend_status; + int16_t signal_strength; + struct dmx_pes_filter_params dmx_pes_filter; + struct hdhomerun_dvb_demux_feed demux_feed; +diff --git a/kernel/dvb_hdhomerun_fe.c b/kernel/dvb_hdhomerun_fe.c +index a96799b..58be54c 100644 +--- a/kernel/dvb_hdhomerun_fe.c ++++ b/kernel/dvb_hdhomerun_fe.c +@@ -49,7 +49,7 @@ struct dvb_hdhomerun_fe_state { + + extern int hdhomerun_debug_mask; + +-static int dvb_hdhomerun_fe_read_status(struct dvb_frontend* fe, fe_status_t* status) ++static int dvb_hdhomerun_fe_read_status(struct dvb_frontend* fe, enum fe_status* status) + { + struct dvbhdhomerun_control_mesg mesg; + struct dvb_hdhomerun_fe_state* state = fe->demodulator_priv; +@@ -60,7 +60,7 @@ static int dvb_hdhomerun_fe_read_status(struct dvb_frontend* fe, fe_status_t* st + mesg.id = state->id; + hdhomerun_control_post_and_wait(&mesg); + +- *status = mesg.u.fe_status; ++ *status = mesg.u.frontend_status; + + return 0; + } +@@ -203,7 +203,7 @@ static int dvb_hdhomerun_fe_tune(struct dvb_frontend *fe, bool re_tune, + #else + static int dvb_hdhomerun_fe_tune(struct dvb_frontend *fe, struct dvb_frontend_parameters *params, + #endif +- unsigned int mode_flags, unsigned int *delay, fe_status_t *status) ++ unsigned int mode_flags, unsigned int *delay, enum fe_status *status) + { + int ret; + DEBUG_FUNC(1); +diff --git a/userhdhomerun/hdhomerun_control.cpp b/userhdhomerun/hdhomerun_control.cpp +index 63b12f8..912b49d 100644 +--- a/userhdhomerun/hdhomerun_control.cpp ++++ b/userhdhomerun/hdhomerun_control.cpp +@@ -219,9 +219,9 @@ void Control::FE_READ_Status(struct dvbhdhomerun_control_mesg& _mesg) + + HdhomerunTuner* tuner = m_hdhomerun->GetTuner(_mesg.id); + if(tuner) { +- fe_status_t status = (fe_status_t)tuner->ReadStatus(); ++ fe_status status = (fe_status)tuner->ReadStatus(); + +- _mesg.u.fe_status = status; ++ _mesg.u.frontend_status = status; + } + else { + ERR() << "Tuner id does not exist!" << _mesg.id << endl;