- 08 Dec, 2020 7 commits
-
-
Alex Hung authored
Rocket Lake has a new ACPI ID for Intel HID event filter device. Signed-off-by:
Alex Hung <alex.hung@canonical.com> Link: https://lore.kernel.org/r/20201208020620.101455-1-alex.hung@canonical.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Carlo Caione authored
The WiFi media button on the Quanta NL3 reports keycodes 0x8b and 0x9b to the platform driver. Add the mapping to support these codes. Signed-off-by:
Carlo Caione <carlo@endlessm.com> Reviewed-by:
Chris Chiu <chiu@endlessos.org> Link: https://lore.kernel.org/r/20201208061111.29073-1-chiu@endlessos.orgSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Vadim Pasternak authored
Fix array names to match assignments for data items and data items counter in 'mlxplat_mlxcpld_comex_items' structure for: .data = mlxplat_mlxcpld_default_pwr_items_data, .count = ARRAY_SIZE(mlxplat_mlxcpld_pwr), and .data = mlxplat_mlxcpld_default_fan_items_data, .count = ARRAY_SIZE(mlxplat_mlxcpld_fan), Replace: - 'mlxplat_mlxcpld_pwr' by 'mlxplat_mlxcpld_default_pwr_items_data' for ARRAY_SIZE() calculation. - 'mlxplat_mlxcpld_fan' by 'mlxplat_mlxcpld_default_fan_items_data' for ARRAY_SIZE() calculation. Fixes: bdd6e155 ("platform/x86: mlx-platform: Add support for new system type") Signed-off-by:
Vadim Pasternak <vadimp@nvidia.com> Link: https://lore.kernel.org/r/20201207174745.22889-3-vadimp@nvidia.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Vadim Pasternak authored
Fix array names to match assignments for data items and data items counter in 'mlxplat_mlxcpld_default_items' structure for: .data = mlxplat_mlxcpld_default_pwr_items_data, .count = ARRAY_SIZE(mlxplat_mlxcpld_pwr), and .data = mlxplat_mlxcpld_default_fan_items_data, .count = ARRAY_SIZE(mlxplat_mlxcpld_fan), Replace: - 'mlxplat_mlxcpld_pwr' by 'mlxplat_mlxcpld_default_pwr_items_data' for ARRAY_SIZE() calculation. - 'mlxplat_mlxcpld_fan' by 'mlxplat_mlxcpld_default_fan_items_data' for ARRAY_SIZE() calculation. Fixes: c6acad68 ("platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface") Signed-off-by:
Vadim Pasternak <vadimp@nvidia.com> Link: https://lore.kernel.org/r/20201207174745.22889-2-vadimp@nvidia.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Srinivas Pandruvada authored
Update version for changes released with v5.11 kernel release. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/platform-driver-x86/57d6648282491906e0e1f70fe3b9a44f72cec90d.camel@intel.com/Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Srinivas Pandruvada authored
Some older kernels will not have support to get CPU die_id from the sysfs. This requires several back ports. But the tool depends on getting die_id to match to correct CPU. Relax this restriction and use die_id as 0 when die_id is missing. This is not a problem as we don't have any multi-die processors with Intel SST support. This helps in running this tool on older kernels with just Intel SST drivers back ported. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/platform-driver-x86/57d6648282491906e0e1f70fe3b9a44f72cec90d.camel@intel.com/Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Srinivas Pandruvada authored
When SST-PP feature is not present, the TRL (Turbo Ratio Limits) is read from MSRs. This is done as the mailbox command will fail on Skylake-X based platform. But for IceLake servers, mailbox commands can still be used. So add a check to allow for non Skylake based platforms to read from mail box commands. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/platform-driver-x86/57d6648282491906e0e1f70fe3b9a44f72cec90d.camel@intel.com/Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 07 Dec, 2020 10 commits
-
-
Hans de Goede authored
Some 360 degree hinges (yoga) style 2-in-1 devices use 2 accelerometers to allow the OS to determine the angle between the display and the base of the device. On Windows these are read by a special HingeAngleService process which calls an ACPI DSM (Device Specific Method) on the ACPI KIOX010A device node for the sensor in the display, to let the firmware know if the 2-in-1 is in tablet- or laptop-mode so that it can disable the kbd and touchpad to avoid spurious input in tablet-mode. The linux kxcjk1013 driver calls the DSM for this once at probe time to ensure that the builtin kbd and touchpad work. On some devices this causes a "spurious" 0xcd event on the intel-hid ACPI dev. In this case there is not a functional tablet-mode switch, so we should not register the tablet-mode switch device. Cc: Elia Devito <eliadevito@gmail.com> Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20201207165129.396298-1-hdegoede@redhat.com
-
Elia Devito authored
Some convertible have unreliable VGBS return, in these cases we enable support when receiving the first event. Signed-off-by:
Elia Devito <eliadevito@gmail.com> Link: https://lore.kernel.org/r/20201204160234.36832-1-elia@xvalue.itSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Elia Devito authored
Some convertible use the intel-hid ACPI interface to report SW_TABLET_MODE, implement this with DMI based allow-list to be sure to activate support only on models that effectively have it. Signed-off-by:
Elia Devito <eliadevito@gmail.com> Link: https://lore.kernel.org/r/20201204160121.36703-1-elia@xvalue.itSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Hans de Goede authored
Some HP x360 models have an ACPI VGBS method which sets bit 4 instead of bit 6 when NOT in tablet mode at boot. Inspecting all the DSDTs in my DSDT collection shows only one other model, the Medion E1239T ever setting bit 4 and it always sets this together with bit 6. So lets treat bit 4 as a second bit which when set indicates the device not being in tablet-mode, as we already do for bit 6. While at it also prefix all VGBS constant defines with "VGBS_". Note this wrokaround was first added to the kernel as commit d8233468 ("platform/x86: intel-vbtn: Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360"). After commit 8169bd3e ("platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting") got added to the kernel this was reverted, because with the new allow-list approach the workaround was no longer necessary for the model on which the issue was first reported. But it turns out that the workaround is still necessary because some affected models report a chassis-type of 31 which is on the allow-list. BugLink: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1894017 Fixes: 21d64817 ("platform/x86: intel-vbtn: Revert "Fix SW_TABLET_MODE always reporting 1 on the HP Pavilion 11 x360"") Signed-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Srinivas Pandruvada authored
Use PCI_VDEVICE and PCI_DEVICE_DATA macros. No functional changes are expected. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/r/20201204015746.1168941-3-srinivas.pandruvada@linux.intel.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Srinivas Pandruvada authored
The mmio offset range can be different based on the PCI device id. Here for INTEL_RAPL_PRIO_DEVID_1, the range is increased from 45 to 64. Pass the range as the driver_data. Also account for different ranges during save/restore via suspend/resume callbacks. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/r/20201204015746.1168941-2-srinivas.pandruvada@linux.intel.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Srinivas Pandruvada authored
The address should be aligned to 4 byte boundary. So send an error for unaligned address. Signed-off-by:
Srinivas Pandruvada <srinivas.pandruvada@linux.intel.com> Link: https://lore.kernel.org/r/20201204015746.1168941-1-srinivas.pandruvada@linux.intel.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Daniel Drake authored
Sending the switch state change twice within the same frame is invalid evdev protocol and only works if the client handles keys immediately as well. Processing events immediately is incorrect, it forces a fake order of events that does not exist on the device. Recent versions of libinput changed to only process the device state and SYN_REPORT time, so now the key event is lost. Same fix as 'commit <bff5bf9d> ("platform/x86: asus-wireless: send an EV_SYN/SYN_REPORT between state changes")' Signed-off-by:
Daniel Drake <drake@endlessos.org> Signed-off-by:
Chris Chiu <chiu@endlessos.org> Link: https://lore.kernel.org/r/20201207064322.13992-1-chiu@endlessos.orgSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Divya Bharathi authored
BIOS sets incorrect value (zero) when SET value passed for integer attribute with + sign. Added workaround to remove + sign before passing input to BIOS. Co-developed-by:
Mario Limonciello <mario.limonciello@dell.com> Signed-off-by:
Mario Limonciello <mario.limonciello@dell.com> Co-developed-by:
Prasanth KSR <prasanth.ksr@dell.com> Signed-off-by:
Prasanth KSR <prasanth.ksr@dell.com> Signed-off-by:
Divya Bharathi <divya.bharathi@dell.com> Link: https://lore.kernel.org/r/20201202131935.307372-1-divya.bharathi@dell.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Arnd Bergmann authored
The only reference to the mlxplat_mlxcpld_psu[] array got removed, so there is now a warning from clang: drivers/platform/x86/mlx-platform.c:322:30: error: variable 'mlxplat_mlxcpld_psu' is not needed and will not be emitted [-Werror,-Wunneeded-internal-declaration] static struct i2c_board_info mlxplat_mlxcpld_psu[] = { Remove the array as well and adapt the ARRAY_SIZE() call accordingly. Fixes: 912b3415 ("platform/x86: mlx-platform: Remove PSU EEPROM from MSN274x platform configuration") Signed-off-by:
Arnd Bergmann <arnd@arndb.de> Acked-by:
Vadim Pasternak <vadimp@nvidia.com> Link: https://lore.kernel.org/r/20201203223105.1195709-1-arnd@kernel.orgSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 02 Dec, 2020 3 commits
-
-
Tom Rix authored
The macro use will already have a semicolon. Signed-off-by:
Tom Rix <trix@redhat.com> Link: https://lore.kernel.org/r/20201127181024.2771890-1-trix@redhat.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Qinglang Miao authored
Fix to return the error code -ENODEV when fails to init wmi and smm. Fixes: 41e36f2f ("platform/x86: dell-smbios: Link all dell-smbios-* modules together") Reported-by:
Hulk Robot <hulkci@huawei.com> Signed-off-by:
Qinglang Miao <miaoqinglang@huawei.com> Reviewed-by:
Mario Limonciello <mario.limonciello@dell.com> Link: https://lore.kernel.org/r/20201125065032.154125-1-miaoqinglang@huawei.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Carlos Garnacho authored
This 2-in-1 model (Product name: Switch SA5-271) features a SW_TABLET_MODE that works as it would be expected, both when detaching the keyboard and when folding it behind the tablet body. It used to work until the introduction of the allow list at commit 8169bd3e ("platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting"). Add this model to it, so that the Virtual Buttons device announces the EV_SW features again. Fixes: 8169bd3e ("platform/x86: intel-vbtn: Switch to an allow-list for SW_TABLET_MODE reporting") Cc: stable@vger.kernel.org Signed-off-by:
Carlos Garnacho <carlosg@gnome.org> Link: https://lore.kernel.org/r/20201201135727.212917-1-carlosg@gnome.orgSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 26 Nov, 2020 3 commits
-
-
Vadim Pasternak authored
Remove PSU EEPROM configuration for systems class equipped with Mellanox chip Spectrum and ATOM CPU - system types MSN274x. Till now all the systems from this class used few types of power units, all equipped with EEPROM device with address space two bytes. Thus, all these devices have been handled by EEPROM driver "24c02". There is a new requirement is to support power unit replacement by "off the shelf" device, matching electrical required parameters. Such device can be equipped with different EEPROM type, which could be one byte address space addressing or even could be not equipped with EEPROM. In such case "24c02" will not work. Fixes: ef08e14a ("platform/x86: mlx-platform: Add support for new msn274x system type") Signed-off-by:
Vadim Pasternak <vadimp@nvidia.com> Link: https://lore.kernel.org/r/20201125101056.174708-3-vadimp@nvidia.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Vadim Pasternak authored
Remove PSU EEPROM configuration for systems class equipped with Mellanox chip Spectrum and Celeron CPU - system types MSN2700, MSN2100. Till now all the systems from this class used few types of power units, all equipped with EEPROM device with address space two bytes. Thus, all these devices have been handled by EEPROM driver "24c02". There is a new requirement is to support power unit replacement by "off the shelf" device, matching electrical required parameters. Such device can be equipped with different EEPROM type, which could be one byte address space addressing or even could be not equipped with EEPROM. In such case "24c02" will not work. Fixes: c6acad68 ("platform/mellanox: mlxreg-hotplug: Modify to use a regmap interface") Fixes: ba814fdd ("platform/x86: mlx-platform: Use defines for bus assignment") Signed-off-by:
Vadim Pasternak <vadimp@nvidia.com> Link: https://lore.kernel.org/r/20201125101056.174708-2-vadimp@nvidia.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Matthias Maier authored
This commit enables dual fan control for the following new Lenovo models: P15, P15v. Signed-off-by:
Matthias Maier <tamiko@43-1.org> Link: https://lore.kernel.org/r/20201126000416.2459645-2-tamiko-ibm-acpi-devel@43-1.orgSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 25 Nov, 2020 1 commit
-
-
Mark Pearson authored
Add support to thinkpad_acpi for returning the status of the palm sensor. This patch builds on the work done previously for the input device implementation (which was not needed). Both lap and palm sensor are using sysfs and they are combined into the proxsensor block. Note: On some platforms, because of an issue in the HW implementation, the palm sensor presence may be incorrectly advertised as always enabled even if a palm sensor is not present. The palm sensor is intended for WWAN transmission power control and should be available and correct on all WWAN enabled systems. It is not recommended to use this interface for other use cases. Signed-off-by:
Mark Pearson <markpearson@lenovo.com> Link: https://lore.kernel.org/r/20201124181154.547518-1-markpearson@lenovo.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 24 Nov, 2020 11 commits
-
-
Vasiliy Kupriakov authored
When user presses Fn-F5, the driver automatically changes throttle thermal policy (or fan boost mode, depending on laptop model). It would be convenient for userspace software to be able to poll on corresponding sysfs variable. For example, to show a notification about mode change. Note that there is currently no way to handle Fn-F5 from userspace directly, driver does not pass it. Signed-off-by:
Vasiliy Kupriakov <rublag-ns@yandex.ru> Link: https://lore.kernel.org/r/20200828214932.20866-2-rublag-ns@yandex.ruSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Hans de Goede authored
Add touchscreen info for the Irbis TW118 tablet. Reported-and-tested-by:
russianneuromancer <russianneuromancer@ya.ru> Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20201124110454.114286-1-hdegoede@redhat.com
-
Max Verevkin authored
The Pavilion 13 x360 PC has a chassis-type which does not indicate it is a convertible, while it is actually a convertible. Add it to the dmi_switches_allow_list. Signed-off-by:
Max Verevkin <me@maxverevkin.tk> Link: https://lore.kernel.org/r/20201124131652.11165-1-me@maxverevkin.tkSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Benjamin Berg authored
The lid state may change while the machine is suspended. As such, we may need to re-check the state at wake-up time (at least when waking up from hibernation). Add the appropriate call to the resume handler in order to sync the SW_TABLET_MODE switch state with the hardware state. Fixes: dda3ec0a ("platform/x86: thinkpad_acpi: Implement tablet mode using GMMS method") BugLink: https://bugzilla.kernel.org/show_bug.cgi?id=210269Signed-off-by:
Benjamin Berg <bberg@redhat.com> Acked-by:
Henrique de Moraes Holschuh <hnh@hmh.eng.br> Link: https://lore.kernel.org/r/20201123132157.866303-1-benjamin@sipsolutions.netSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Hans de Goede authored
Add the Acer Aspire Switch 10E SW3-016 to the list of models which use the Acer Switch WMI interface for reporting SW_TABLET_MODE. Signed-off-by:
Hans de Goede <hdegoede@redhat.com> Link: https://lore.kernel.org/r/20201123151625.5530-1-hdegoede@redhat.com
-
Kaixu Xia authored
The commit 78429e55 ("platform/x86: toshiba_acpi: Clean up variable declaration") cleans up variable declaration in video_proc_write(). Seems it does the variable assignment in the wrong place, this results in dead code and changes the source code logic. Fix it by doing the assignment at the beginning of the funciton. Fixes: 78429e55 ("platform/x86: toshiba_acpi: Clean up variable declaration") Reported-by:
Tosk Robot <tencent_os_robot@tencent.com> Signed-off-by:
Kaixu Xia <kaixuxia@tencent.com> Link: https://lore.kernel.org/r/1606024177-16481-1-git-send-email-kaixuxia@tencent.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Maximilian Luz authored
In addition to a 13" version, there is also a 15" (business) version of the Surface Laptop 3 based on Intel CPUs. This version also handles wakeup by lid via (unmarked) GPEs, so add support for it as well. Signed-off-by:
Maximilian Luz <luzmaximilian@gmail.com> Link: https://lore.kernel.org/r/20201113223935.2073847-1-luzmaximilian@gmail.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Dan Carpenter authored
The "ns->attr_grp" pointer can be NULL so this error handling code needs to check for that to avoid an Oops. Fixes: e2729113 ("platform/x86: Intel PMT class driver") Signed-off-by:
Dan Carpenter <dan.carpenter@oracle.com> Reviewed-by:
David E. Box <david.e.box@linux.intel.com> Link: https://lore.kernel.org/r/20201117072251.GC1111239@mwandaSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Andy Shevchenko authored
Use device_get_match_data() to get driver data instead of boilerplate code. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20201105110530.27888-4-andriy.shevchenko@linux.intel.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Andy Shevchenko authored
Common pattern of handling deferred probe can be simplified with dev_err_probe(). Less code and the error value gets printed. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20201105110530.27888-2-andriy.shevchenko@linux.intel.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Andy Shevchenko authored
The driver depends on ACPI, ACPI_PTR() resolution is always the same. Otherwise a compiler may produce a warning. That said, the rule of thumb either ugly ifdeffery with ACPI_PTR or none should be used in a driver. Signed-off-by:
Andy Shevchenko <andriy.shevchenko@linux.intel.com> Link: https://lore.kernel.org/r/20201105110530.27888-1-andriy.shevchenko@linux.intel.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
- 10 Nov, 2020 5 commits
-
-
Kenneth Chan authored
Take over maintainership of panasonic-laptop from Harald Welte. Signed-off-by:
Kenneth Chan <kenneth.t.chan@gmail.com> Acked-by:
Harald Welte <laforge@gnumonks.org> Link: https://lore.kernel.org/r/20200825101341.5699-1-kenneth.t.chan@gmail.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Kenneth Chan authored
Panasonic laptops (at least from CF-W4 onwards) have dedicated firmware registers for saving ac/dc and current brightness. They are a bit confusing so here's some explanations: AC_MIN_BRIGHT, AC_MAX_BRIGHT, DC_MIN_BRIGHT, DC_MAX_BRIGHT: Read-only. Values: 0x01 and 0x15 respectively. AC_CUR_BRIGHT, DC_CUR_BRIGHT: Read-Write. 0x00-0xFF. Store user-defined AC/DC brightness. However, they do not represent current brightness so they should be named AC_BRIGHT and DC_BRIGHT instead. CUR_BRIGHT (present since CF-W4): Read-Write. 0x00-0xFF. It sets the current brightness. It won't update itself if brightness is changed via other means, e.g. acpi_video0. Another CUR_BRIGHT (added since CF-W5): Read-Write. 0x01-0x15. Its value always synchronizes with current brightness. Not implemented in this version. Currently the backlight API interacts with AC_CUR_BRIGHT (probably because it's the only bl register available in earlier models?). This patch adds sysfs attributes for AC_CUR_BRIGHT, DC_CUR_BRIGHT and CUR_BRIGHT. It also fixes the error of https://lkml.org/lkml/2020/8/19/1264. PS: I think the backlight API should interact with CUR_BRIGHT instead of AC_CUR_BRIGHT. But it involves complications like mapping between 0x01-0x15 or 0x00-0x14 (the backlight API) and 0x00-0xFF (CUR_BRIGHT). I'll leave the discussion for a later version. Signed-off-by:
Kenneth Chan <kenneth.t.chan@gmail.com> Link: https://lore.kernel.org/r/20200821181433.17653-10-kenneth.t.chan@gmail.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Kenneth Chan authored
Add battery charging threshold (aka ECO mode) support. NOTE: The state of ECO mode is persistent until the next POST cycle which reset it to previous state. Signed-off-by:
Kenneth Chan <kenneth.t.chan@gmail.com> Link: https://lore.kernel.org/r/20200821181433.17653-9-kenneth.t.chan@gmail.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Kenneth Chan authored
Sometimes double ACPI events are triggered for brightness, vol and mute hotkeys. This patch fixes it. Signed-off-by:
Kenneth Chan <kenneth.t.chan@gmail.com> Link: https://lore.kernel.org/r/20200821181433.17653-8-kenneth.t.chan@gmail.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-
Kenneth Chan authored
Add write support to the mute platform device Signed-off-by:
Kenneth Chan <kenneth.t.chan@gmail.com> Link: https://lore.kernel.org/r/20200821181433.17653-7-kenneth.t.chan@gmail.comSigned-off-by:
Hans de Goede <hdegoede@redhat.com>
-