Fix compilation on 6.10.x.

This commit is contained in:
Guy Martin
2024-08-19 21:28:40 +00:00
parent fe7f3fca68
commit 065bc32fed
14 changed files with 109 additions and 22 deletions

View File

@@ -25,6 +25,7 @@
#include "ddbridge-i2c.h"
#include "ddbridge-io.h"
#include "ddbridge-ioctl.h"
#include "ddbridge-core.h"
#include <media/dvb_net.h>
struct workqueue_struct *ddb_wq;
@@ -105,6 +106,7 @@ DVB_DEFINE_MOD_OPT_ADAPTER_NR(adapter_nr);
/* copied from dvb-core/dvbdev.c because kernel version does not export it */
int ddb_dvb_usercopy(struct file *file,
unsigned int cmd, unsigned long arg,
int (*func)(struct file *file,
@@ -4070,7 +4072,7 @@ static struct class ddb_class = {
.devnode = ddb_devnode,
};
int ddb_class_create(void)
static int ddb_class_create(void)
{
ddb_major = register_chrdev(0, DDB_NAME, &ddb_fops);
if (ddb_major < 0)
@@ -4080,7 +4082,7 @@ int ddb_class_create(void)
return 0;
}
void ddb_class_destroy(void)
static void ddb_class_destroy(void)
{
class_unregister(&ddb_class);
unregister_chrdev(ddb_major, DDB_NAME);

31
ddbridge/ddbridge-core.h Normal file
View File

@@ -0,0 +1,31 @@
// SPDX-License-Identifier: GPL-2.0
/*
* ddbridge-core.c: Digital Devices bridge core functions
*
* Copyright (C) 2010-2017 Digital Devices GmbH
* Marcus Metzler <mocm@metzlerbros.de>
* Ralph Metzler <rjkm@metzlerbros.de>
*
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 only, as published by the Free Software Foundation.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
#ifndef _DDBRIDGE_SX8_H_
#define _DDBRIDGE_SX8_H_
int ddb_dvb_usercopy(struct file *file,
unsigned int cmd, unsigned long arg,
int (*func)(struct file *file,
unsigned int cmd, void *arg));
#endif

View File

@@ -25,6 +25,7 @@
#include "ddbridge.h"
#include "ddbridge-io.h"
#include "ddbridge-mci.h"
#include "ddbridge-m4.h"
struct m4_base {
struct mci_base mci_base;

30
ddbridge/ddbridge-m4.h Normal file
View File

@@ -0,0 +1,30 @@
// SPDX-License-Identifier: GPL-2.0
/*
* ddbridge-m4.c: Digital Devices MAX M4 driver
*
* Copyright (C) 2018 Digital Devices GmbH
* Marcus Metzler <mocm@metzlerbros.de>
* Ralph Metzler <rjkm@metzlerbros.de>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 only, as published by the Free Software Foundation.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, point your browser to
* http://www.gnu.org/copyleft/gpl.html
*/
#ifndef _DDBRIDGE_M4_H_
#define _DDBRIDGE_M4_H_
struct dvb_frontend *ddb_mx_attach(struct ddb_input *input, int nr, int tuner, int type);
#endif

View File

@@ -25,6 +25,8 @@
#include "ddbridge.h"
#include "ddbridge-io.h"
#include "ddbridge-i2c.h"
#include "ddbridge-sx8.h"
#include "ddbridge-m4.h"
/* MAX LNB interface related module parameters */
@@ -520,11 +522,6 @@ int ddb_fe_attach_mxl5xx(struct ddb_input *input)
return 0;
}
/* MAX MCI related functions */
struct dvb_frontend *ddb_sx8_attach(struct ddb_input *input, int nr, int tuner,
int (**fn_set_input)(struct dvb_frontend *fe, int input));
struct dvb_frontend *ddb_mx_attach(struct ddb_input *input, int nr, int tuner, int type);
int ddb_fe_attach_mci(struct ddb_input *input, u32 type)
{

View File

@@ -210,7 +210,7 @@ int ddb_mci_cmd(struct mci *state,
}
int ddb_mci_cmd_raw(struct mci *state,
static int ddb_mci_cmd_raw(struct mci *state,
struct mci_command *command, u32 command_len,
struct mci_result *result, u32 result_len)
{

View File

@@ -24,6 +24,7 @@
#include "ddbridge.h"
#include "ddbridge-io.h"
#include "ddbridge-mci.h"
#include "ddbridge-sx8.h"
static int default_mod = 3;
module_param(default_mod, int, 0444);

29
ddbridge/ddbridge-sx8.h Normal file
View File

@@ -0,0 +1,29 @@
/*
* ddbridge-sx8.c: Digital Devices MAX SX8 driver
*
* Copyright (C) 2018 Digital Devices GmbH
* Marcus Metzler <mocm@metzlerbros.de>
* Ralph Metzler <rjkm@metzlerbros.de>
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 only, as published by the Free Software Foundation.
*
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, point your browser to
* http://www.gnu.org/copyleft/gpl.html
*/
#ifndef _DDBRIDGE_SX8_H_
#define _DDBRIDGE_SX8_H_
struct dvb_frontend *ddb_sx8_attach(struct ddb_input *input, int nr, int tuner,
int (**fn_set_input)(struct dvb_frontend *fe, int input));
#endif

View File

@@ -25,9 +25,8 @@
#include <linux/net.h>
#include "dvb_netstream.h"
#include "ddbridge-core.h"
int ddb_dvb_usercopy(struct file *file, unsigned int cmd, unsigned long arg,
int (*func)(struct file *file, unsigned int cmd, void *arg));
static ssize_t ns_write(struct file *file, const char *buf,
size_t count, loff_t *ppos)