diff mbox series

[2/2] USB: phy: fsl-usb: remove character device usage

Message ID 20200702072914.1072878-2-gregkh@linuxfoundation.org (mailing list archive)
State Mainlined
Commit 8c4a09cb1bfb84eb4acc88eb5eb5709b76403f9e
Headers show
Series [1/2] USB: phy: fsl-usb: remove sysfs abuse | expand

Commit Message

Greg KH July 2, 2020, 7:29 a.m. UTC
No idea why this driver is using a char device node, statically
allocated, with no dynamic allocation or hook up with devtmpfs, along
with a reserverd major number, for "special" operations, not all of
which ever were implemented.

So just rip it out, as no one must be using it because no modern system
will ever actually create the /dev/ node it needs.

Cc: Felipe Balbi <balbi@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/phy/phy-fsl-usb.c | 69 -----------------------------------
 drivers/usb/phy/phy-fsl-usb.h | 14 -------
 2 files changed, 83 deletions(-)

Comments

Peter Chen July 2, 2020, 9:07 a.m. UTC | #1
> 
> No idea why this driver is using a char device node, statically allocated, with no
> dynamic allocation or hook up with devtmpfs, along with a reserverd major number,
> for "special" operations, not all of which ever were implemented.
> 
> So just rip it out, as no one must be using it because no modern system will ever
> actually create the /dev/ node it needs.
> 

Add related people from NXP.

Peter

> Cc: Felipe Balbi <balbi@kernel.org>
> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> ---
>  drivers/usb/phy/phy-fsl-usb.c | 69 -----------------------------------
>  drivers/usb/phy/phy-fsl-usb.h | 14 -------
>  2 files changed, 83 deletions(-)
> 
> diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c index
> 93d2257aeec8..0c6d9f9f2994 100644
> --- a/drivers/usb/phy/phy-fsl-usb.c
> +++ b/drivers/usb/phy/phy-fsl-usb.c
> @@ -957,67 +957,6 @@ int usb_otg_start(struct platform_device *pdev)
>  	return 0;
>  }
> 
> -/* Char driver interface to control some OTG input */
> -
> -/*
> - * Handle some ioctl command, such as get otg
> - * status and set host suspend
> - */
> -static long fsl_otg_ioctl(struct file *file, unsigned int cmd,
> -			  unsigned long arg)
> -{
> -	u32 retval = 0;
> -
> -	switch (cmd) {
> -	case GET_OTG_STATUS:
> -		retval = fsl_otg_dev->host_working;
> -		break;
> -
> -	case SET_A_SUSPEND_REQ:
> -		fsl_otg_dev->fsm.a_suspend_req_inf = arg;
> -		break;
> -
> -	case SET_A_BUS_DROP:
> -		fsl_otg_dev->fsm.a_bus_drop = arg;
> -		break;
> -
> -	case SET_A_BUS_REQ:
> -		fsl_otg_dev->fsm.a_bus_req = arg;
> -		break;
> -
> -	case SET_B_BUS_REQ:
> -		fsl_otg_dev->fsm.b_bus_req = arg;
> -		break;
> -
> -	default:
> -		break;
> -	}
> -
> -	otg_statemachine(&fsl_otg_dev->fsm);
> -
> -	return retval;
> -}
> -
> -static int fsl_otg_open(struct inode *inode, struct file *file) -{
> -	return 0;
> -}
> -
> -static int fsl_otg_release(struct inode *inode, struct file *file) -{
> -	return 0;
> -}
> -
> -static const struct file_operations otg_fops = {
> -	.owner = THIS_MODULE,
> -	.llseek = NULL,
> -	.read = NULL,
> -	.write = NULL,
> -	.unlocked_ioctl = fsl_otg_ioctl,
> -	.open = fsl_otg_open,
> -	.release = fsl_otg_release,
> -};
> -
>  static int fsl_otg_probe(struct platform_device *pdev)  {
>  	int ret;
> @@ -1039,12 +978,6 @@ static int fsl_otg_probe(struct platform_device *pdev)
>  		return ret;
>  	}
> 
> -	ret = register_chrdev(FSL_OTG_MAJOR, FSL_OTG_NAME, &otg_fops);
> -	if (ret) {
> -		dev_err(&pdev->dev, "unable to register FSL OTG device\n");
> -		return ret;
> -	}
> -
>  	return ret;
>  }
> 
> @@ -1061,8 +994,6 @@ static int fsl_otg_remove(struct platform_device *pdev)
>  	kfree(fsl_otg_dev->phy.otg);
>  	kfree(fsl_otg_dev);
> 
> -	unregister_chrdev(FSL_OTG_MAJOR, FSL_OTG_NAME);
> -
>  	if (pdata->exit)
>  		pdata->exit(pdev);
> 
> diff --git a/drivers/usb/phy/phy-fsl-usb.h b/drivers/usb/phy/phy-fsl-usb.h index
> fbcc28ad9964..d70341ae5a92 100644
> --- a/drivers/usb/phy/phy-fsl-usb.h
> +++ b/drivers/usb/phy/phy-fsl-usb.h
> @@ -371,21 +371,7 @@ struct fsl_otg_config {
>  	u8 otg_port;
>  };
> 
> -/* For SRP and HNP handle */
> -#define FSL_OTG_MAJOR		240
>  #define FSL_OTG_NAME		"fsl-usb2-otg"
> -/* Command to OTG driver ioctl */
> -#define OTG_IOCTL_MAGIC		FSL_OTG_MAJOR
> -/* if otg work as host, it should return 1, otherwise return 0 */
> -#define GET_OTG_STATUS		_IOR(OTG_IOCTL_MAGIC, 1, int)
> -#define SET_A_SUSPEND_REQ	_IOW(OTG_IOCTL_MAGIC, 2, int)
> -#define SET_A_BUS_DROP		_IOW(OTG_IOCTL_MAGIC, 3, int)
> -#define SET_A_BUS_REQ		_IOW(OTG_IOCTL_MAGIC, 4, int)
> -#define SET_B_BUS_REQ		_IOW(OTG_IOCTL_MAGIC, 5, int)
> -#define GET_A_SUSPEND_REQ	_IOR(OTG_IOCTL_MAGIC, 6, int)
> -#define GET_A_BUS_DROP		_IOR(OTG_IOCTL_MAGIC, 7, int)
> -#define GET_A_BUS_REQ		_IOR(OTG_IOCTL_MAGIC, 8, int)
> -#define GET_B_BUS_REQ		_IOR(OTG_IOCTL_MAGIC, 9, int)
> 
>  void fsl_otg_add_timer(struct otg_fsm *fsm, void *timer);  void
> fsl_otg_del_timer(struct otg_fsm *fsm, void *timer);
> --
> 2.27.0
Greg KH July 2, 2020, 10:33 a.m. UTC | #2
On Thu, Jul 02, 2020 at 09:07:43AM +0000, Peter Chen wrote:
>  
> > 
> > No idea why this driver is using a char device node, statically allocated, with no
> > dynamic allocation or hook up with devtmpfs, along with a reserverd major number,
> > for "special" operations, not all of which ever were implemented.
> > 
> > So just rip it out, as no one must be using it because no modern system will ever
> > actually create the /dev/ node it needs.
> > 
> 
> Add related people from NXP.

If there are related people, MAINTAINERS should have reflected that :)
Ran Wang July 3, 2020, 1:56 a.m. UTC | #3
Hi

On Thursday, July 2, 2020 5:08 PM, Peter Chen wrote
> >
> > No idea why this driver is using a char device node, statically
> > allocated, with no dynamic allocation or hook up with devtmpfs, along
> > with a reserverd major number, for "special" operations, not all of which ever
> were implemented.
> >
> > So just rip it out, as no one must be using it because no modern
> > system will ever actually create the /dev/ node it needs.
> >
> 
> Add related people from NXP.
> 

Reviewed-by: Ran Wang <ran.wang_1@nxp.com>

Regards,
Ran

<snip>
Greg KH July 3, 2020, 7:02 a.m. UTC | #4
On Fri, Jul 03, 2020 at 01:56:28AM +0000, Ran Wang wrote:
> Hi
> 
> On Thursday, July 2, 2020 5:08 PM, Peter Chen wrote
> > >
> > > No idea why this driver is using a char device node, statically
> > > allocated, with no dynamic allocation or hook up with devtmpfs, along
> > > with a reserverd major number, for "special" operations, not all of which ever
> > were implemented.
> > >
> > > So just rip it out, as no one must be using it because no modern
> > > system will ever actually create the /dev/ node it needs.
> > >
> > 
> > Add related people from NXP.
> > 
> 
> Reviewed-by: Ran Wang <ran.wang_1@nxp.com>

Thanks for the review!

greg k-h
diff mbox series

Patch

diff --git a/drivers/usb/phy/phy-fsl-usb.c b/drivers/usb/phy/phy-fsl-usb.c
index 93d2257aeec8..0c6d9f9f2994 100644
--- a/drivers/usb/phy/phy-fsl-usb.c
+++ b/drivers/usb/phy/phy-fsl-usb.c
@@ -957,67 +957,6 @@  int usb_otg_start(struct platform_device *pdev)
 	return 0;
 }
 
-/* Char driver interface to control some OTG input */
-
-/*
- * Handle some ioctl command, such as get otg
- * status and set host suspend
- */
-static long fsl_otg_ioctl(struct file *file, unsigned int cmd,
-			  unsigned long arg)
-{
-	u32 retval = 0;
-
-	switch (cmd) {
-	case GET_OTG_STATUS:
-		retval = fsl_otg_dev->host_working;
-		break;
-
-	case SET_A_SUSPEND_REQ:
-		fsl_otg_dev->fsm.a_suspend_req_inf = arg;
-		break;
-
-	case SET_A_BUS_DROP:
-		fsl_otg_dev->fsm.a_bus_drop = arg;
-		break;
-
-	case SET_A_BUS_REQ:
-		fsl_otg_dev->fsm.a_bus_req = arg;
-		break;
-
-	case SET_B_BUS_REQ:
-		fsl_otg_dev->fsm.b_bus_req = arg;
-		break;
-
-	default:
-		break;
-	}
-
-	otg_statemachine(&fsl_otg_dev->fsm);
-
-	return retval;
-}
-
-static int fsl_otg_open(struct inode *inode, struct file *file)
-{
-	return 0;
-}
-
-static int fsl_otg_release(struct inode *inode, struct file *file)
-{
-	return 0;
-}
-
-static const struct file_operations otg_fops = {
-	.owner = THIS_MODULE,
-	.llseek = NULL,
-	.read = NULL,
-	.write = NULL,
-	.unlocked_ioctl = fsl_otg_ioctl,
-	.open = fsl_otg_open,
-	.release = fsl_otg_release,
-};
-
 static int fsl_otg_probe(struct platform_device *pdev)
 {
 	int ret;
@@ -1039,12 +978,6 @@  static int fsl_otg_probe(struct platform_device *pdev)
 		return ret;
 	}
 
-	ret = register_chrdev(FSL_OTG_MAJOR, FSL_OTG_NAME, &otg_fops);
-	if (ret) {
-		dev_err(&pdev->dev, "unable to register FSL OTG device\n");
-		return ret;
-	}
-
 	return ret;
 }
 
@@ -1061,8 +994,6 @@  static int fsl_otg_remove(struct platform_device *pdev)
 	kfree(fsl_otg_dev->phy.otg);
 	kfree(fsl_otg_dev);
 
-	unregister_chrdev(FSL_OTG_MAJOR, FSL_OTG_NAME);
-
 	if (pdata->exit)
 		pdata->exit(pdev);
 
diff --git a/drivers/usb/phy/phy-fsl-usb.h b/drivers/usb/phy/phy-fsl-usb.h
index fbcc28ad9964..d70341ae5a92 100644
--- a/drivers/usb/phy/phy-fsl-usb.h
+++ b/drivers/usb/phy/phy-fsl-usb.h
@@ -371,21 +371,7 @@  struct fsl_otg_config {
 	u8 otg_port;
 };
 
-/* For SRP and HNP handle */
-#define FSL_OTG_MAJOR		240
 #define FSL_OTG_NAME		"fsl-usb2-otg"
-/* Command to OTG driver ioctl */
-#define OTG_IOCTL_MAGIC		FSL_OTG_MAJOR
-/* if otg work as host, it should return 1, otherwise return 0 */
-#define GET_OTG_STATUS		_IOR(OTG_IOCTL_MAGIC, 1, int)
-#define SET_A_SUSPEND_REQ	_IOW(OTG_IOCTL_MAGIC, 2, int)
-#define SET_A_BUS_DROP		_IOW(OTG_IOCTL_MAGIC, 3, int)
-#define SET_A_BUS_REQ		_IOW(OTG_IOCTL_MAGIC, 4, int)
-#define SET_B_BUS_REQ		_IOW(OTG_IOCTL_MAGIC, 5, int)
-#define GET_A_SUSPEND_REQ	_IOR(OTG_IOCTL_MAGIC, 6, int)
-#define GET_A_BUS_DROP		_IOR(OTG_IOCTL_MAGIC, 7, int)
-#define GET_A_BUS_REQ		_IOR(OTG_IOCTL_MAGIC, 8, int)
-#define GET_B_BUS_REQ		_IOR(OTG_IOCTL_MAGIC, 9, int)
 
 void fsl_otg_add_timer(struct otg_fsm *fsm, void *timer);
 void fsl_otg_del_timer(struct otg_fsm *fsm, void *timer);