Lines Matching +full:force +full:- +full:mode
1 // SPDX-License-Identifier: GPL-2.0-or-later
7 * Reverse-engineered from Lenovo SlideNav software (SBarHook.dll).
18 * load with 'force' parameter set 'true'.
20 * LEDs blinking and input mode are managed via sysfs,
45 * All | 0b01001 -> STD_INT
46 * possible | 0b10001 -> ONMOV_INT
47 * states | 0b01000 -> OFF_INT
49 * | 0b0 -> LAST_POLL
51 * | 0b1 -> STD_INT
53 * | 0b0 -> OFF_POLL
55 * | 0b1 -> OFF_INT
57 * Any state | 0b10000000 -> if the slidebar has updated data,
59 * switch to respective POLL mode
60 * (like 0x0), if not in POLL mode yet.
87 static bool force; variable
88 module_param(force, bool, 0);
89 MODULE_PARM_DESC(force, "Force driver load, ignore DMI data");
114 static void slidebar_mode_set(u8 mode) in slidebar_mode_set() argument
120 outb(mode, 0xff2b); in slidebar_mode_set()
170 u8 mode; in store_slidebar_mode() local
173 error = kstrtou8(buf, 0, &mode); in store_slidebar_mode()
177 slidebar_mode_set(mode); in store_slidebar_mode()
204 dev_err(&pdev->dev, "IO ports are busy\n"); in ideapad_probe()
205 return -EBUSY; in ideapad_probe()
210 dev_err(&pdev->dev, "Failed to allocate input device\n"); in ideapad_probe()
211 err = -ENOMEM; in ideapad_probe()
215 slidebar_input_dev->name = "IdeaPad Slidebar"; in ideapad_probe()
216 slidebar_input_dev->id.bustype = BUS_HOST; in ideapad_probe()
217 slidebar_input_dev->dev.parent = &pdev->dev; in ideapad_probe()
224 dev_err(&pdev->dev, in ideapad_probe()
231 dev_err(&pdev->dev, in ideapad_probe()
263 pr_info("Laptop model '%s'\n", id->ident); in ideapad_dmi_check()
294 if (!force && !dmi_check_system(ideapad_dmi)) { in slidebar_init()
296 return -ENODEV; in slidebar_init()
299 slidebar_platform_dev = platform_device_alloc("ideapad_slidebar", -1); in slidebar_init()
302 return -ENOMEM; in slidebar_init()
305 slidebar_platform_dev->dev.groups = ideapad_attr_groups; in slidebar_init()