diff --git a/drivers/Makefile b/drivers/Makefile index 14b4e0fa..dfcec02d 100644 --- a/drivers/Makefile +++ b/drivers/Makefile @@ -31,7 +31,5 @@ obj-m += thermal/ obj-m += watchdog/ obj-m += video/tegra/ obj-m += virt/tegra/ -ifeq ($(shell test $$VERSION -lt 6; echo $$?),0) obj-m += media/ -endif diff --git a/drivers/media/platform/tegra/cdi/cdi_mgr.c b/drivers/media/platform/tegra/cdi/cdi_mgr.c index 74d67613..36f6085d 100644 --- a/drivers/media/platform/tegra/cdi/cdi_mgr.c +++ b/drivers/media/platform/tegra/cdi/cdi_mgr.c @@ -666,9 +666,8 @@ static int cdi_mgr_mcdi_ctrl(struct cdi_mgr_priv *cdi_mgr, bool mcdi_on) for (i = 0; i < pd->num_mcdi_gpios; i++) { if (mcdi_on) { - if (devm_gpio_request(cdi_mgr->pdev, - pd->mcdi_gpios[i], - "mcdi-gpio")) { + if (gpio_request(pd->mcdi_gpios[i], + "mcdi-gpio")) { dev_err(cdi_mgr->pdev, "failed req GPIO: %d\n", pd->mcdi_gpios[i]); goto mcdi_ctrl_err; @@ -679,14 +678,14 @@ static int cdi_mgr_mcdi_ctrl(struct cdi_mgr_priv *cdi_mgr, bool mcdi_on) } else { err = gpio_direction_output( pd->mcdi_gpios[i], PW_OFF(pd->mcdi_flags[i])); - devm_gpio_free(cdi_mgr->pdev, pd->mcdi_gpios[i]); + gpio_free(pd->mcdi_gpios[i]); } } return 0; mcdi_ctrl_err: for (; i >= 0; i--) - devm_gpio_free(cdi_mgr->pdev, pd->mcdi_gpios[i]); + gpio_free(pd->mcdi_gpios[i]); return -EBUSY; } @@ -1533,8 +1532,7 @@ static int cdi_mgr_probe(struct platform_device *pdev) if (!gpio_is_valid(pd->pwr_gpios[i])) goto err_probe; - if (devm_gpio_request( - &pdev->dev, pd->pwr_gpios[i], "pwdn-gpios")) { + if (gpio_request(pd->pwr_gpios[i], "pwdn-gpios")) { dev_err(&pdev->dev, "failed to req GPIO: %d\n", pd->pwr_gpios[i]); goto err_probe; diff --git a/drivers/media/platform/tegra/cdi/cdi_pwm.c b/drivers/media/platform/tegra/cdi/cdi_pwm.c index 18cc28c7..fc2fc2f0 100644 --- a/drivers/media/platform/tegra/cdi/cdi_pwm.c +++ b/drivers/media/platform/tegra/cdi/cdi_pwm.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "cdi-pwm-priv.h" @@ -30,6 +31,7 @@ static inline struct cdi_pwm_info *to_cdi_pwm_info(struct pwm_chip *chip) return container_of(chip, struct cdi_pwm_info, chip); } +#if KERNEL_VERSION(6, 0, 0) > LINUX_VERSION_CODE static int cdi_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) { struct cdi_pwm_info *info = to_cdi_pwm_info(chip); @@ -84,6 +86,7 @@ static int cdi_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, return err; } +#endif static struct pwm_device *of_cdi_pwm_xlate(struct pwm_chip *pc, const struct of_phandle_args *args) @@ -122,9 +125,11 @@ static struct pwm_device *of_cdi_pwm_xlate(struct pwm_chip *pc, } static const struct pwm_ops cdi_pwm_ops = { +#if KERNEL_VERSION(6, 0, 0) > LINUX_VERSION_CODE .config = cdi_pwm_config, .enable = cdi_pwm_enable, .disable = cdi_pwm_disable, +#endif .owner = THIS_MODULE, }; diff --git a/drivers/media/platform/tegra/isc/isc_dev.c b/drivers/media/platform/tegra/isc/isc_dev.c index 475f1ade..eb4215d4 100644 --- a/drivers/media/platform/tegra/isc/isc_dev.c +++ b/drivers/media/platform/tegra/isc/isc_dev.c @@ -340,37 +340,21 @@ static int isc_dev_raw_rw(struct isc_dev_info *info) } static int isc_dev_get_package( - struct isc_dev_info *info, unsigned long arg, bool is_compat) + struct isc_dev_info *info, unsigned long arg) { - if (is_compat) { - struct isc_dev_package32 pkg32; + struct isc_dev_package pkg; - if (copy_from_user(&pkg32, - (const void __user *)arg, sizeof(pkg32))) { - dev_err(info->dev, "%s copy_from_user err line %d\n", - __func__, __LINE__); - return -EFAULT; - } - info->rw_pkg.offset = pkg32.offset; - info->rw_pkg.offset_len = pkg32.offset_len; - info->rw_pkg.size = pkg32.size; - info->rw_pkg.flags = pkg32.flags; - info->rw_pkg.buffer = (unsigned long)pkg32.buffer; - } else { - struct isc_dev_package pkg; - - if (copy_from_user(&pkg, - (const void __user *)arg, sizeof(pkg))) { - dev_err(info->dev, "%s copy_from_user err line %d\n", - __func__, __LINE__); - return -EFAULT; - } - info->rw_pkg.offset = pkg.offset; - info->rw_pkg.offset_len = pkg.offset_len; - info->rw_pkg.size = pkg.size; - info->rw_pkg.flags = pkg.flags; - info->rw_pkg.buffer = pkg.buffer; + if (copy_from_user(&pkg, + (const void __user *)arg, sizeof(pkg))) { + dev_err(info->dev, "%s copy_from_user err line %d\n", + __func__, __LINE__); + return -EFAULT; } + info->rw_pkg.offset = pkg.offset; + info->rw_pkg.offset_len = pkg.offset_len; + info->rw_pkg.size = pkg.size; + info->rw_pkg.flags = pkg.flags; + info->rw_pkg.buffer = pkg.buffer; if ((void __user *)info->rw_pkg.buffer == NULL) { dev_err(info->dev, "%s package buffer NULL\n", __func__); @@ -394,7 +378,7 @@ static long isc_dev_ioctl(struct file *file, switch (cmd) { case ISC_DEV_IOCTL_RW: - err = isc_dev_get_package(info, arg, false); + err = isc_dev_get_package(info, arg); if (err) break; @@ -408,29 +392,6 @@ static long isc_dev_ioctl(struct file *file, return err; } -#ifdef CONFIG_COMPAT -static long isc_dev_ioctl32(struct file *file, - unsigned int cmd, unsigned long arg) -{ - struct isc_dev_info *info = file->private_data; - int err = 0; - - switch (cmd) { - case ISC_DEV_IOCTL_RW32: - err = isc_dev_get_package(info, arg, true); - if (err) - break; - - err = isc_dev_raw_rw(info); - break; - default: - return isc_dev_ioctl(file, cmd, arg); - } - - return err; -} -#endif - static int isc_dev_open(struct inode *inode, struct file *file) { struct isc_dev_info *info; @@ -462,9 +423,6 @@ static const struct file_operations isc_dev_fileops = { .owner = THIS_MODULE, .open = isc_dev_open, .unlocked_ioctl = isc_dev_ioctl, -#ifdef CONFIG_COMPAT - .compat_ioctl = isc_dev_ioctl32, -#endif .release = isc_dev_release, }; diff --git a/drivers/media/platform/tegra/isc/isc_mgr.c b/drivers/media/platform/tegra/isc/isc_mgr.c index ba2f4e00..a2eef766 100644 --- a/drivers/media/platform/tegra/isc/isc_mgr.c +++ b/drivers/media/platform/tegra/isc/isc_mgr.c @@ -514,9 +514,8 @@ static int isc_mgr_misc_ctrl(struct isc_mgr_priv *isc_mgr, bool misc_on) for (i = 0; i < pd->num_misc_gpios; i++) { if (misc_on) { - if (devm_gpio_request(isc_mgr->pdev, - pd->misc_gpios[i], - "misc-gpio")) { + if (gpio_request(pd->misc_gpios[i], + "misc-gpio")) { dev_err(isc_mgr->pdev, "failed req GPIO: %d\n", pd->misc_gpios[i]); goto misc_ctrl_err; @@ -527,14 +526,14 @@ static int isc_mgr_misc_ctrl(struct isc_mgr_priv *isc_mgr, bool misc_on) } else { err = gpio_direction_output( pd->misc_gpios[i], PW_OFF(pd->misc_flags[i])); - devm_gpio_free(isc_mgr->pdev, pd->misc_gpios[i]); + gpio_free(pd->misc_gpios[i]); } } return 0; misc_ctrl_err: for (; i >= 0; i--) - devm_gpio_free(isc_mgr->pdev, pd->misc_gpios[i]); + gpio_free(pd->misc_gpios[i]); return -EBUSY; } @@ -1057,8 +1056,7 @@ static int isc_mgr_probe(struct platform_device *pdev) if (!gpio_is_valid(pd->pwr_gpios[i])) goto err_probe; - if (devm_gpio_request( - &pdev->dev, pd->pwr_gpios[i], "pwdn-gpios")) { + if (gpio_request(pd->pwr_gpios[i], "pwdn-gpios")) { dev_err(&pdev->dev, "failed to req GPIO: %d\n", pd->pwr_gpios[i]); goto err_probe; diff --git a/drivers/media/platform/tegra/isc/isc_pwm.c b/drivers/media/platform/tegra/isc/isc_pwm.c index 792f4126..8cb129d8 100644 --- a/drivers/media/platform/tegra/isc/isc_pwm.c +++ b/drivers/media/platform/tegra/isc/isc_pwm.c @@ -7,6 +7,7 @@ #include #include #include +#include #include "isc-pwm-priv.h" @@ -30,6 +31,7 @@ static inline struct isc_pwm_info *to_isc_pwm_info(struct pwm_chip *chip) return container_of(chip, struct isc_pwm_info, chip); } +#if KERNEL_VERSION(6, 0, 0) > LINUX_VERSION_CODE static int isc_pwm_enable(struct pwm_chip *chip, struct pwm_device *pwm) { struct isc_pwm_info *info = to_isc_pwm_info(chip); @@ -84,6 +86,7 @@ static int isc_pwm_config(struct pwm_chip *chip, struct pwm_device *pwm, return err; } +#endif static struct pwm_device *of_isc_pwm_xlate(struct pwm_chip *pc, const struct of_phandle_args *args) @@ -122,9 +125,11 @@ static struct pwm_device *of_isc_pwm_xlate(struct pwm_chip *pc, } static const struct pwm_ops isc_pwm_ops = { +#if KERNEL_VERSION(6, 0, 0) > LINUX_VERSION_CODE .config = isc_pwm_config, .enable = isc_pwm_enable, .disable = isc_pwm_disable, +#endif .owner = THIS_MODULE, }; diff --git a/include/uapi/media/isc-dev.h b/include/uapi/media/isc-dev.h index efa9077b..42bc9174 100644 --- a/include/uapi/media/isc-dev.h +++ b/include/uapi/media/isc-dev.h @@ -21,18 +21,4 @@ struct __attribute__ ((__packed__)) isc_dev_package { unsigned long buffer; }; -#ifdef __KERNEL__ -#ifdef CONFIG_COMPAT -#define ISC_DEV_IOCTL_RW32 _IOW('o', 1, struct isc_dev_package32) - -struct __attribute__ ((__packed__)) isc_dev_package32 { - __u16 offset; - __u16 offset_len; - __u32 size; - __u32 flags; - __u32 buffer; -}; -#endif /* CONFIG_COMPAT */ -#endif /* __KERNEL__ */ - #endif /* __UAPI_ISC_DEV_H__ */