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");
124 static void slidebar_mode_set(u8 mode) in slidebar_mode_set() argument
131 outb(mode, 0xff2b); in slidebar_mode_set()
182 u8 mode; in store_slidebar_mode() local
185 error = kstrtou8(buf, 0, &mode); in store_slidebar_mode()
189 slidebar_mode_set(mode); in store_slidebar_mode()
216 dev_err(&pdev->dev, "IO ports are busy\n"); in ideapad_probe()
217 return -EBUSY; in ideapad_probe()
222 dev_err(&pdev->dev, "Failed to allocate input device\n"); in ideapad_probe()
223 err = -ENOMEM; in ideapad_probe()
227 slidebar_input_dev->name = "IdeaPad Slidebar"; in ideapad_probe()
228 slidebar_input_dev->id.bustype = BUS_HOST; in ideapad_probe()
229 slidebar_input_dev->dev.parent = &pdev->dev; in ideapad_probe()
236 dev_err(&pdev->dev, in ideapad_probe()
243 dev_err(&pdev->dev, in ideapad_probe()
277 pr_info("Laptop model '%s'\n", id->ident); in ideapad_dmi_check()
308 if (!force && !dmi_check_system(ideapad_dmi)) { in slidebar_init()
310 return -ENODEV; in slidebar_init()
313 slidebar_platform_dev = platform_device_alloc("ideapad_slidebar", -1); in slidebar_init()
316 return -ENOMEM; in slidebar_init()
319 slidebar_platform_dev->dev.groups = ideapad_attr_groups; in slidebar_init()