aboutsummaryrefslogtreecommitdiff
path: root/drivers
AgeCommit message (Collapse)AuthorFilesLines
2019-05-14backlight: lm3630a: Add firmware node supportBrian Masney1-5/+144
Add fwnode support to the lm3630a driver and optionally allow configuring the label, default brightness level, and maximum brightness level. The two outputs can be controlled by bank A and B independently or bank A can control both outputs. If the platform data was not configured, then the driver defaults to enabling both banks. This patch changes the default value to disable both banks before parsing the firmware node so that just a single bank can be enabled if desired. There are no in-tree users of this driver. Driver was tested on a LG Nexus 5 (hammerhead) phone. Signed-off-by: Brian Masney <[email protected]> Reviewed-by: Dan Murphy <[email protected]> Acked-by: Daniel Thompson <[email protected]> Acked-by: Pavel Machek <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14backlight: lm3630a: Return 0 on success in update_status functionsBrian Masney1-2/+2
lm3630a_bank_a_update_status() and lm3630a_bank_b_update_status() both return the brightness value if the brightness was successfully updated. Writing to these attributes via sysfs would cause a 'Bad address' error to be returned. These functions should return 0 on success, so let's change it to correct that error. Fixes: 28e64a68a2ef ("backlight: lm3630: apply chip revision") Signed-off-by: Brian Masney <[email protected]> Acked-by: Pavel Machek <[email protected]> Acked-by: Daniel Thompson <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14video: lcd: Remove useless BACKLIGHT_CLASS_DEVICE dependenciesAlexander Shiyan1-13/+12
This patch removes dependencies on BACKLIGHT_CLASS_DEVICE for items that are already placed under 'if BACKLIGHT_CLASS_DEVICE'. Signed-off-by: Alexander Shiyan <[email protected]> Acked-by: Bartlomiej Zolnierkiewicz <[email protected]> Acked-by: Daniel Thompson <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: Use dev_get_drvdata() directlyKefeng Wang4-35/+18
Using dev_get_drvdata directly. Signed-off-by: Kefeng Wang <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: cros_ec: Instantiate properly CrOS Touchpad MCU deviceEnric Balletbo i Serra1-0/+10
Support Touchpad MCU as a special of CrOS EC devices. The current Touchpad MCU is used on Eve Chromebook and used the same protocol as other CrOS EC devices. When a MCU has touchpad support (aka EC_FEATURE_TOUCHPAD), it is instantiated as a special CrOS EC device with device name 'cros_tp'. So regardless of the probing order between the actual cros_ec and cros_tp, the userspace and other kernel drivers should not confuse them. Signed-off-by: Wei-Ning Huang <[email protected]> Signed-off-by: Enric Balletbo i Serra <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: cros_ec: Instantiate properly CrOS FP MCU deviceEnric Balletbo i Serra1-0/+10
Support Fingerprint MCU as a special of CrOS EC devices. The current FP MCU uses the same EC SPI protocol v3 as other CrOS EC devices on a SPI bus. When a MCU has fingerprint support (aka EC_FEATURE_FINGERPRINT), it is instantiated as a special CrOS EC device with device name 'cros_fp'. So regardless of the probing order between the actual cros_ec and cros_fp, the userspace and other kernel drivers should not confuse them. Signed-off-by: Vincent Palatin <[email protected]> Signed-off-by: Enric Balletbo i Serra <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: intel-lpss: Add Intel Comet Lake PCI IDsAndy Shevchenko1-0/+13
Intel Comet Lake has the same LPSS than Intel Cannon Lake. Add the new IDs to the list of supported devices. Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Jarkko Nikula <[email protected]> Tested-by: Evan Green <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: ab8500-debugfs: Fix a typo ("deubgfs")Jonathan Neuschäfer1-1/+1
"debugfs" was misspelled. Signed-off-by: Jonathan Neuschäfer <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: intel_quark_i2c_gpio: Adjust IOT2000 matchingSu Bao Cheng1-10/+0
Since there are more IOT2040 variants with identical hardware but different asset tags, the asset tag matching should be adjusted to support them. For the board name "SIMATIC IOT2000", currently there are 2 types of hardware, IOT2020 and IOT2040. Both are identical regarding the intel_quark_i2c_gpio. In the future there will be no other devices with the "SIMATIC IOT2000" DMI board name but different hardware. So remove the asset tag matching from this driver. Signed-off-by: Su Bao Cheng <[email protected]> Reviewed-by: Jan Kiszka <[email protected]> Acked-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: tps65912-spi: Add missing of table registrationDaniel Gomez1-0/+1
MODULE_DEVICE_TABLE(of, <of_match_table> should be called to complete DT OF mathing mechanism and register it. Before this patch: modinfo drivers/mfd/tps65912-spi.ko | grep alias alias: spi:tps65912 After this patch: modinfo drivers/mfd/tps65912-spi.ko | grep alias alias: of:N*T*Cti,tps65912C* alias: of:N*T*Cti,tps65912 alias: spi:tps65912 Reported-by: Javier Martinez Canillas <[email protected]> Signed-off-by: Daniel Gomez <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: axp20x: Add USB power supply mfd cell to AXP803Chen-Yu Tsai1-0/+5
The AXP803 has a VBUS power input. Its functionality is the same as the one found in the AXP813. Now that the axp20x_usb_power driver supports this variant, we can add an mfd cell for it to use it. Signed-off-by: Chen-Yu Tsai <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: sun6i-prcm: Fix build warning for non-OF configurationsArnd Bergmann1-2/+1
When CONFIG_OF is disabled, we get a harmless warning about an unused variable: drivers/mfd/sun6i-prcm.c: In function 'sun6i_prcm_probe': drivers/mfd/sun6i-prcm.c:151:22: error: unused variable 'np' [-Werror=unused-variable] Remove the variable and open-code the value in the only place it is used, so it can get left out as well without CONFIG_OF. Fixes: a05a2e7998ab ("mfd: sun6i-prcm: Allow to compile with COMPILE_TEST") Signed-off-by: Arnd Bergmann <[email protected]> Acked-by: Maxime Ripard <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: intel-lpss: Set the device in reset state when initBinbin Wu1-0/+3
In virtualized setup, when system reboots due to warm reset interrupt storm is seen. Call Trace: <IRQ> dump_stack+0x70/0xa5 __report_bad_irq+0x2e/0xc0 note_interrupt+0x248/0x290 ? add_interrupt_randomness+0x30/0x220 handle_irq_event_percpu+0x54/0x80 handle_irq_event+0x39/0x60 handle_fasteoi_irq+0x91/0x150 handle_irq+0x108/0x180 do_IRQ+0x52/0xf0 common_interrupt+0xf/0xf </IRQ> RIP: 0033:0x76fc2cfabc1d Code: 24 28 bf 03 00 00 00 31 c0 48 8d 35 63 77 0e 00 48 8d 15 2e 94 0e 00 4c 89 f9 49 89 d9 4c 89 d3 e8 b8 e2 01 00 48 8b 54 24 18 <48> 89 ef 48 89 de 4c 89 e1 e8 d5 97 01 00 84 c0 74 2d 48 8b 04 24 RSP: 002b:00007ffd247c1fc0 EFLAGS: 00000293 ORIG_RAX: ffffffffffffffda RAX: 0000000000000000 RBX: 00007ffd247c1ff0 RCX: 000000000003d3ce RDX: 0000000000000000 RSI: 00007ffd247c1ff0 RDI: 000076fc2cbb6010 RBP: 000076fc2cded010 R08: 00007ffd247c2210 R09: 00007ffd247c22a0 R10: 000076fc29465470 R11: 0000000000000000 R12: 00007ffd247c1fc0 R13: 000076fc2ce8e470 R14: 000076fc27ec9960 R15: 0000000000000414 handlers: [<000000000d3fa913>] idma64_irq Disabling IRQ #27 To avoid interrupt storm, set the device in reset state before bringing out the device from reset state. Changelog v2: - correct the subject line by adding "mfd: " Signed-off-by: Binbin Wu <[email protected]> Acked-by: Mika Westerberg <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14platform/chrome: Add support for v1 of host sleep eventEvan Green2-5/+40
Add support in code for the new forms of the host sleep event. Detects the presence of this version of the command at runtime, and use whichever form the EC supports. At this time, always request the default timeout, and only report the failing response via a WARN_ONCE(). Future versions could accept the sleep parameter from outside the driver, and return the response information to usermode or elsewhere. Signed-off-by: Evan Green <[email protected]> Reviewed-by: Rajat Jain <[email protected]> Reviewed-by: Guenter Roeck <[email protected]> Acked-by: Enric Balletbo i Serra <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: cros_ec: Instantiate the CrOS USB PD logger driverEnric Balletbo i Serra1-1/+2
Add the cros-usbpd-logger driver for logging event data for the USB PD charger available in the Embedded Controller on ChromeOS systems. The logging feature is logically separate functionality from charge manager, hence is instantiated as a different driver. Signed-off-by: Enric Balletbo i Serra <[email protected]> Reviewed-by: Guenetr Roeck <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: cs47l90: Make DAC_AEC_CONTROL_2 readableAjit Pandey1-0/+2
There is a second AEC loopback on cs47l90 so the registers for it should be readable. Signed-off-by: Ajit Pandey <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: cs47l35: Make DAC_AEC_CONTROL_2 readableRichard Fitzgerald1-0/+2
There is a second AEC loopback on cs47l35 so the registers for it should be readable. Signed-off-by: Richard Fitzgerald <[email protected]> Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: da9063: Remove platform_data supportWolfram Sang3-20/+2
There are no in-kernel users anymore, so remove this outdated interface. Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Steve Twiss <[email protected]> Tested-by: Steve Twiss <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: da9063: Convert headers to SPDXWolfram Sang3-20/+6
Covnert the headers of the source and include files to SPDX. And fix some typos in the descriptions ("interrupt" instead of "I2C"). Signed-off-by: Wolfram Sang <[email protected]> Acked-by: Steve Twiss <[email protected]> Reviewed-by: Simon Horman <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: axp20x: Allow the AXP223 to be probed by I2CMaxime Ripard1-0/+2
The AXP223 can be used both using the RSB proprietary bus, or a more traditional I2C bus. The RSB is a faster bus and provides more features (like some integrity checks on the messages), so it's usually preferrable to use it, but since it's proprietary, when we want to use the PMIC in a multi-master setup, the i2c might make sense as well. Let's add that possibility. Signed-off-by: Maxime Ripard <[email protected]> Acked-by: Chen-Yu Tsai <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: rk808: Remove the id_tableTony Xie1-9/+0
Remove the id_table because it's not used. Signed-off-by: Tony Xie <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: cros_ec: Instantiate properly CrOS ISH MCU deviceRushikesh S Kadam1-0/+13
Integrated Sensor Hub (ISH) is also a MCU running EC having feature bit EC_FEATURE_ISH. Instantiate it as a special CrOS EC device with device name 'cros_ish'. Signed-off-by: Rushikesh S Kadam <[email protected]> Reviewed-by: Andy Shevchenko <[email protected]> Acked-by: Enric Balletbo i Serra <[email protected]> Reviewed-by: Gwendal Grignou <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: atmel-hlcdc: Add compatible for SAM9X60 HLCD controllerClaudiu Beznea1-0/+1
Add compatible for SAM9X60 HLCD controller. Signed-off-by: Claudiu Beznea <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: Kconfig: Pedantic formattingEnrico Weigelt, metux IT consult1-31/+31
Formatting of Kconfig files doesn't look so pretty, so let the Great White Handkerchief come around and clean it up. Signed-off-by: Enrico Weigelt, metux IT consult <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: axp20x: Add USB power supply mfd cell to AXP813Quentin Schulz1-0/+11
The AXP813 has a VBUS power input. Now that the axp20x_usb_power driver supports this variant, we can add an mfd cell for it to use it. Signed-off-by: Quentin Schulz <[email protected]> [[email protected]: add commit message] Signed-off-by: Chen-Yu Tsai <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: twl6040: Fix device init errors for ACCCTL registerTony Lindgren1-1/+12
I noticed that we can get a -EREMOTEIO errors on at least omap4 duovero: twl6040 0-004b: Failed to write 2d = 19: -121 And then any following register access will produce errors. There 2d offset above is register ACCCTL that gets written on twl6040 powerup. With error checking added to the related regcache_sync() call, the -EREMOTEIO error is reproducable on twl6040 powerup at least duovero. To fix the error, we need to wait until twl6040 is accessible after the powerup. Based on tests on omap4 duovero, we need to wait over 8ms after powerup before register write will complete without failures. Let's also make sure we warn about possible errors too. Note that we have twl6040_patch[] reg_sequence with the ACCCTL register configuration and regcache_sync() will write the new value to ACCCTL. Signed-off-by: Tony Lindgren <[email protected]> Acked-by: Peter Ujfalusi <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: syscon: Add optional clock supportFabrice Gasnier1-0/+19
Some system control registers need to be clocked, so the registers can be accessed. Add an optional clock and attach it to regmap. Signed-off-by: Fabrice Gasnier <[email protected]> Acked-by: Arnd Bergmann <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: sec: Add support for the RTC on S2MPA01Stuart Menefy2-0/+4
The RTC portion of the S2MPA01 appears to have the same register layout as the S2MPS14. Signed-off-by: Stuart Menefy <[email protected]> Reviewed-by: Krzysztof Kozlowski <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: sec: Put one element structure initialisation on one lineStuart Menefy1-39/+19
Change the layout of the initialisation of structures with one element to a single line of code. This keeps the coding style consistent. Signed-off-by: Stuart Menefy <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14mfd: intel_soc_pmic_chtwc: Register LED child deviceYauhen Kharuzhy1-0/+1
Add MFD cell for LEDs driver to the Intel Cherry Trail Whiskey Cove PMIC mfd device driver. Signed-off-by: Yauhen Kharuzhy <[email protected]> Signed-off-by: Lee Jones <[email protected]>
2019-05-14Merge branches 'ib-mfd-arm-leds-5.2', 'ib-mfd-gpio-input-leds-power-5.2', ↵Lee Jones694-7768/+8240
'ib-mfd-pinctrl-5.2-2' and 'ib-mfd-regulator-5.2', tag 'ib-mfd-arm-net-5.2' into ibs-for-mfd-merged Immutable branch between MFD, ARM and Net due for the 5.2 merge window
2019-05-14drm/nouveau: fix duplication of nv50_head_atom structPeteris Rudzusiks1-0/+1
nv50_head_atomic_duplicate_state() makes a copy of nv50_head_atom struct. This patch adds copying of struct member named "or", which previously was left uninitialized in the duplicated structure. Due to this bug, incorrect nhsync and nvsync values were sometimes used. In my particular case, that lead to a mismatch between the output resolution of the graphics device (GeForce GT 630 OEM) and the reported input signal resolution on the display. xrandr reported 1680x1050, but the display reported 1280x1024. As a result of this mismatch, the output on the display looked like it was cropped (only part of the output was actually visible on the display). git bisect pointed to commit 2ca7fb5c1cc6 ("drm/nouveau/kms/nv50: handle SetControlOutputResource from head"), which added the member "or" to nv50_head_atom structure, but forgot to copy it in nv50_head_atomic_duplicate_state(). Fixes: 2ca7fb5c1cc6 ("drm/nouveau/kms/nv50: handle SetControlOutputResource from head") Signed-off-by: Peteris Rudzusiks <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2019-05-14drm/nouveau/disp/dp: respect sink limits when selecting failsafe link ↵Ben Skeggs1-2/+9
configuration Where possible, we want the failsafe link configuration (one which won't hang the OR during modeset because of not enough bandwidth for the mode) to also be supported by the sink. This prevents "link rate unsupported by sink" messages when link training fails. Signed-off-by: Ben Skeggs <[email protected]>
2019-05-14drm/nouveau/core: initial support for boards with TU117 chipsetBen Skeggs1-0/+36
Modesetting only, still waiting on ACR/GR firmware from NVIDIA for Turing graphics/compute bring-up. Each subsystem was compared with traces, along with various tests to check that things generally work as they should, and appears compatible enough with the current TU106 code to enable support. Signed-off-by: Ben Skeggs <[email protected]>
2019-05-14drm/nouveau/core: allow detected chipset to be overriddenBen Skeggs2-3/+24
Signed-off-by: Ben Skeggs <[email protected]>
2019-05-14drm/nouveau/kms/gf119-gp10x: push HeadSetControlOutputResource() mthd when ↵Ben Skeggs1-1/+1
encoders change HW has error checks in place which check that pixel depth is explicitly provided on DP, while HDMI has a "default" setting that we use. In multi-display configurations with identical modelines, but different protocols (HDMI + DP, in this case), it was possible for the DP head to get swapped to the head which previously drove the HDMI output, without updating HeadSetControlOutputResource(), triggering the error check and hanging the core update. Reported-by: Lyude Paul <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2019-05-14drm/nouveau/kms/nv50-: fix bug preventing non-vsync'd page flipsBen Skeggs1-1/+1
Accidentally introduced during Volta bring-up. Signed-off-by: Ben Skeggs <[email protected]>
2019-05-14drm/nouveau/kms/gv100-: fix spurious window immediate interlocksBen Skeggs3-1/+3
Cursor position updates were accidentally causing us to attempt to interlock window with window immediate, and without a matching window immediate update, NVDisplay could hang forever in some circumstances. Fixes suspend/resume on (at least) Quadro RTX4000 (TU104). Reported-by: Lyude Paul <[email protected]> Signed-off-by: Ben Skeggs <[email protected]>
2019-05-13drivers: thermal: tsens: Merge tsens-8974 into tsens-v0_1Amit Kucheria4-239/+236
8974 and 8916 have the same version of the TSENS IP. Merge the files to allow for better code reuse. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Rename constants to prepare to merge with tsens-8974Amit Kucheria1-44/+44
Some #defines in tsens-v_0_1.c clash with those in tsens-8974.c. Prefix them with 8916 to avoid the clash so we can merge the two files. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Rename tsens-8916 to prepare to merge with tsens-8974Amit Kucheria2-1/+1
8916 and 8974 use v0.1.0 of the TSENS IP. Rename tsens-8916 to prepare it for merging with tsens-8974 in a later commit. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Function prototypes should have argument namesAmit Kucheria1-12/+12
check_patch complains a lot as follows: WARNING: function definition argument 'struct tsens_priv *' should also have an identifier name + int (*init)(struct tsens_priv *); Fix it. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Use consistent names for variablesAmit Kucheria1-3/+3
tsens_get_temp() uses the name 'data' for the void pointer, use the same in tsens_get_trend() for consistency. Remove a stray space while we're at it. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Rename variable tmdevAmit Kucheria7-132/+131
tmdev seems to imply that this is a device pointer when in fact it is just private platform data for each tsens device. Rename it to priv improve code readability. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Rename tsens_deviceAmit Kucheria7-35/+35
Rename to tsens_priv to denote that it is private data for each tsens instance. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Rename tsens_dataAmit Kucheria6-10/+10
Rename to tsens_plat_data to denote that it is platform-data passed in at compile-time. Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: tsens: Document the data structuresAmit Kucheria1-3/+28
Describe how the TSENS device and the various sensors connected to it are described in the driver Signed-off-by: Amit Kucheria <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13thermal: stm32: simplify getting .driver_dataWolfram Sang1-4/+2
We should get 'driver_data' from 'struct device' directly. Going via platform_device is an unneeded step back and forth. Signed-off-by: Wolfram Sang <[email protected]> Reviewed-by: Simon Horman <[email protected]> Reviewed-by: Daniel Lezcano <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13drivers: thermal: Kconfig: pedantic cleanupsEnrico Weigelt, metux IT consult2-13/+13
Formatting of Kconfig files doesn't look so pretty, so just take damp cloth and clean it up. Signed-off-by: Enrico Weigelt, metux IT consult <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>
2019-05-13of: thermal: Improve print informationYangtao Li1-0/+3
Define pr_fmt macro to add a prefix to the message, this can make the thermal log better recognized. Before: [ 0.602672] nfc: nfc_init: NFC Core ver 0.1 [ 0.602828] NET: Registered protocol family 39 [ 0.603435] clocksource: Switched to clocksource mct-frc [ 0.746216] failed to build thermal zone cpu-thermal: -22 [ 0.746451] NET: Registered protocol family 2 After: [ 0.602804] NET: Registered protocol family 39 [ 0.603463] clocksource: Switched to clocksource mct-frc [ 0.746309] thermal_sys: failed to build thermal zone cpu-thermal: -22 [ 0.746545] NET: Registered protocol family 2 Signed-off-by: Yangtao Li <[email protected]> Signed-off-by: Eduardo Valentin <[email protected]>