Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

platform/x86/sony-laptop: Remove unused sony laptop camera code

commit ba47652ba655 ("media: meye: remove this deprecated driver")
removed the meye driver but left behind the code in sony-laptop.c
which that driver used to call.

Remove the sony_pic_camera_command() function, and the set of
defines (SONY_PIC_COMMAND_*) in a header used for the interface
and the static helpers it called.

Cleanup remaining #defines.

Signed-off-by: Dr. David Alan Gilbert <linux@treblig.org>
Link: https://lore.kernel.org/r/20250505152558.40526-1-linux@treblig.org
Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>

authored by

Dr. David Alan Gilbert and committed by
Ilpo Järvinen
9950f94e c935ddfe

-207
-1
MAINTAINERS
··· 22597 22597 F: Documentation/admin-guide/laptops/sony-laptop.rst 22598 22598 F: drivers/char/sonypi.c 22599 22599 F: drivers/platform/x86/sony-laptop.c 22600 - F: include/linux/sony-laptop.h 22601 22600 22602 22601 SOPHGO DEVICETREES and DRIVERS 22603 22602 M: Chen Wang <unicorn_wang@outlook.com>
-167
drivers/platform/x86/sony-laptop.c
··· 48 48 #include <linux/acpi.h> 49 49 #include <linux/slab.h> 50 50 #include <linux/sonypi.h> 51 - #include <linux/sony-laptop.h> 52 51 #include <linux/rfkill.h> 53 52 #ifdef CONFIG_SONYPI_COMPAT 54 53 #include <linux/poll.h> ··· 3620 3621 return v1; 3621 3622 } 3622 3623 3623 - static u8 sony_pic_call3(u8 dev, u8 fn, u8 v) 3624 - { 3625 - u8 v1; 3626 - 3627 - wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, ITERATIONS_LONG); 3628 - outb(dev, spic_dev.cur_ioport->io1.minimum + 4); 3629 - wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, ITERATIONS_LONG); 3630 - outb(fn, spic_dev.cur_ioport->io1.minimum); 3631 - wait_on_command(inb_p(spic_dev.cur_ioport->io1.minimum + 4) & 2, ITERATIONS_LONG); 3632 - outb(v, spic_dev.cur_ioport->io1.minimum); 3633 - v1 = inb_p(spic_dev.cur_ioport->io1.minimum); 3634 - dprintk("sony_pic_call3(0x%.2x - 0x%.2x - 0x%.2x): 0x%.4x\n", 3635 - dev, fn, v, v1); 3636 - return v1; 3637 - } 3638 - 3639 3624 /* 3640 3625 * minidrivers for SPIC models 3641 3626 */ ··· 3706 3723 dev->model == SONYPI_DEVICE_TYPE1 ? 1 : 3707 3724 dev->model == SONYPI_DEVICE_TYPE2 ? 2 : 3); 3708 3725 } 3709 - 3710 - /* camera tests and poweron/poweroff */ 3711 - #define SONYPI_CAMERA_PICTURE 5 3712 - #define SONYPI_CAMERA_CONTROL 0x10 3713 - 3714 - #define SONYPI_CAMERA_BRIGHTNESS 0 3715 - #define SONYPI_CAMERA_CONTRAST 1 3716 - #define SONYPI_CAMERA_HUE 2 3717 - #define SONYPI_CAMERA_COLOR 3 3718 - #define SONYPI_CAMERA_SHARPNESS 4 3719 - 3720 - #define SONYPI_CAMERA_EXPOSURE_MASK 0xC 3721 - #define SONYPI_CAMERA_WHITE_BALANCE_MASK 0x3 3722 - #define SONYPI_CAMERA_PICTURE_MODE_MASK 0x30 3723 - #define SONYPI_CAMERA_MUTE_MASK 0x40 3724 - 3725 - /* the rest don't need a loop until not 0xff */ 3726 - #define SONYPI_CAMERA_AGC 6 3727 - #define SONYPI_CAMERA_AGC_MASK 0x30 3728 - #define SONYPI_CAMERA_SHUTTER_MASK 0x7 3729 - 3730 - #define SONYPI_CAMERA_SHUTDOWN_REQUEST 7 3731 - #define SONYPI_CAMERA_CONTROL 0x10 3732 - 3733 - #define SONYPI_CAMERA_STATUS 7 3734 - #define SONYPI_CAMERA_STATUS_READY 0x2 3735 - #define SONYPI_CAMERA_STATUS_POSITION 0x4 3736 - 3737 - #define SONYPI_DIRECTION_BACKWARDS 0x4 3738 - 3739 - #define SONYPI_CAMERA_REVISION 8 3740 - #define SONYPI_CAMERA_ROMVERSION 9 3741 - 3742 - static int __sony_pic_camera_ready(void) 3743 - { 3744 - u8 v; 3745 - 3746 - v = sony_pic_call2(0x8f, SONYPI_CAMERA_STATUS); 3747 - return (v != 0xff && (v & SONYPI_CAMERA_STATUS_READY)); 3748 - } 3749 - 3750 - static int __sony_pic_camera_off(void) 3751 - { 3752 - if (!camera) { 3753 - pr_warn("camera control not enabled\n"); 3754 - return -ENODEV; 3755 - } 3756 - 3757 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_PICTURE, 3758 - SONYPI_CAMERA_MUTE_MASK), 3759 - ITERATIONS_SHORT); 3760 - 3761 - if (spic_dev.camera_power) { 3762 - sony_pic_call2(0x91, 0); 3763 - spic_dev.camera_power = 0; 3764 - } 3765 - return 0; 3766 - } 3767 - 3768 - static int __sony_pic_camera_on(void) 3769 - { 3770 - int i, j, x; 3771 - 3772 - if (!camera) { 3773 - pr_warn("camera control not enabled\n"); 3774 - return -ENODEV; 3775 - } 3776 - 3777 - if (spic_dev.camera_power) 3778 - return 0; 3779 - 3780 - for (j = 5; j > 0; j--) { 3781 - 3782 - for (x = 0; x < 100 && sony_pic_call2(0x91, 0x1); x++) 3783 - msleep(10); 3784 - sony_pic_call1(0x93); 3785 - 3786 - for (i = 400; i > 0; i--) { 3787 - if (__sony_pic_camera_ready()) 3788 - break; 3789 - msleep(10); 3790 - } 3791 - if (i) 3792 - break; 3793 - } 3794 - 3795 - if (j == 0) { 3796 - pr_warn("failed to power on camera\n"); 3797 - return -ENODEV; 3798 - } 3799 - 3800 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_CONTROL, 3801 - 0x5a), 3802 - ITERATIONS_SHORT); 3803 - 3804 - spic_dev.camera_power = 1; 3805 - return 0; 3806 - } 3807 - 3808 - /* External camera command (exported to the motion eye v4l driver) */ 3809 - int sony_pic_camera_command(int command, u8 value) 3810 - { 3811 - if (!camera) 3812 - return -EIO; 3813 - 3814 - mutex_lock(&spic_dev.lock); 3815 - 3816 - switch (command) { 3817 - case SONY_PIC_COMMAND_SETCAMERA: 3818 - if (value) 3819 - __sony_pic_camera_on(); 3820 - else 3821 - __sony_pic_camera_off(); 3822 - break; 3823 - case SONY_PIC_COMMAND_SETCAMERABRIGHTNESS: 3824 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_BRIGHTNESS, value), 3825 - ITERATIONS_SHORT); 3826 - break; 3827 - case SONY_PIC_COMMAND_SETCAMERACONTRAST: 3828 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_CONTRAST, value), 3829 - ITERATIONS_SHORT); 3830 - break; 3831 - case SONY_PIC_COMMAND_SETCAMERAHUE: 3832 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_HUE, value), 3833 - ITERATIONS_SHORT); 3834 - break; 3835 - case SONY_PIC_COMMAND_SETCAMERACOLOR: 3836 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_COLOR, value), 3837 - ITERATIONS_SHORT); 3838 - break; 3839 - case SONY_PIC_COMMAND_SETCAMERASHARPNESS: 3840 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_SHARPNESS, value), 3841 - ITERATIONS_SHORT); 3842 - break; 3843 - case SONY_PIC_COMMAND_SETCAMERAPICTURE: 3844 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_PICTURE, value), 3845 - ITERATIONS_SHORT); 3846 - break; 3847 - case SONY_PIC_COMMAND_SETCAMERAAGC: 3848 - wait_on_command(sony_pic_call3(0x90, SONYPI_CAMERA_AGC, value), 3849 - ITERATIONS_SHORT); 3850 - break; 3851 - default: 3852 - pr_err("sony_pic_camera_command invalid: %d\n", command); 3853 - break; 3854 - } 3855 - mutex_unlock(&spic_dev.lock); 3856 - return 0; 3857 - } 3858 - EXPORT_SYMBOL(sony_pic_camera_command); 3859 3726 3860 3727 /* gprs/edge modem (SZ460N and SZ210P), thanks to Joshua Wise */ 3861 3728 static void __sony_pic_set_wwanpower(u8 state)
-39
include/linux/sony-laptop.h
··· 1 - /* SPDX-License-Identifier: GPL-2.0 */ 2 - #ifndef _SONYLAPTOP_H_ 3 - #define _SONYLAPTOP_H_ 4 - 5 - #include <linux/types.h> 6 - 7 - #ifdef __KERNEL__ 8 - 9 - /* used only for communication between v4l and sony-laptop */ 10 - 11 - #define SONY_PIC_COMMAND_GETCAMERA 1 /* obsolete */ 12 - #define SONY_PIC_COMMAND_SETCAMERA 2 13 - #define SONY_PIC_COMMAND_GETCAMERABRIGHTNESS 3 /* obsolete */ 14 - #define SONY_PIC_COMMAND_SETCAMERABRIGHTNESS 4 15 - #define SONY_PIC_COMMAND_GETCAMERACONTRAST 5 /* obsolete */ 16 - #define SONY_PIC_COMMAND_SETCAMERACONTRAST 6 17 - #define SONY_PIC_COMMAND_GETCAMERAHUE 7 /* obsolete */ 18 - #define SONY_PIC_COMMAND_SETCAMERAHUE 8 19 - #define SONY_PIC_COMMAND_GETCAMERACOLOR 9 /* obsolete */ 20 - #define SONY_PIC_COMMAND_SETCAMERACOLOR 10 21 - #define SONY_PIC_COMMAND_GETCAMERASHARPNESS 11 /* obsolete */ 22 - #define SONY_PIC_COMMAND_SETCAMERASHARPNESS 12 23 - #define SONY_PIC_COMMAND_GETCAMERAPICTURE 13 /* obsolete */ 24 - #define SONY_PIC_COMMAND_SETCAMERAPICTURE 14 25 - #define SONY_PIC_COMMAND_GETCAMERAAGC 15 /* obsolete */ 26 - #define SONY_PIC_COMMAND_SETCAMERAAGC 16 27 - #define SONY_PIC_COMMAND_GETCAMERADIRECTION 17 /* obsolete */ 28 - #define SONY_PIC_COMMAND_GETCAMERAROMVERSION 18 /* obsolete */ 29 - #define SONY_PIC_COMMAND_GETCAMERAREVISION 19 /* obsolete */ 30 - 31 - #if IS_ENABLED(CONFIG_SONY_LAPTOP) 32 - int sony_pic_camera_command(int command, u8 value); 33 - #else 34 - static inline int sony_pic_camera_command(int command, u8 value) { return 0; } 35 - #endif 36 - 37 - #endif /* __KERNEL__ */ 38 - 39 - #endif /* _SONYLAPTOP_H_ */