Re: [PATCH 01/10] alpha: use libata instead of the legacy ide driver

2021-03-18 Thread Måns Rullgård
Måns Rullgård writes: > Christoph Hellwig writes: > >> On Thu, Mar 18, 2021 at 05:54:55AM +, Al Viro wrote: >>> On Thu, Mar 18, 2021 at 05:56:57AM +0100, Christoph Hellwig wrote: >>> > Switch the alpha defconfig from the legacy ide driver to libata. >

Re: [PATCH 01/10] alpha: use libata instead of the legacy ide driver

2021-03-18 Thread Måns Rullgård
river works fine on my UP1500 machine, unless something broke recently. I'll build the latest kernel and report back. -- Måns Rullgård

Re: [PATCH] serial: 8250: add option to disable registration of legacy ISA ports

2021-01-31 Thread Måns Rullgård
roduces some kind of error. How is it breaking anything to not create device nodes for hardware that doesn't exist? -- Måns Rullgård

Re: [PATCH] serial: 8250: add option to disable registration of legacy ISA ports

2021-01-31 Thread Måns Rullgård
Greg Kroah-Hartman writes: > On Sun, Jan 31, 2021 at 01:18:47PM +0000, Måns Rullgård wrote: >> Greg Kroah-Hartman writes: >> >> > On Thu, Jan 28, 2021 at 05:22:44PM +, Mans Rullgard wrote: >> >> On systems that do not have the traditional PC ISA seria

Re: [PATCH] serial: 8250: add option to disable registration of legacy ISA ports

2021-01-31 Thread Måns Rullgård
used by this? There won't be /dev/ttyS devices for ports that don't exist. > Will ports get renumbered? Not if they had predictable numbers to begin with. > What harm is this causing systems today without this change? It means I have to somehow maintain a separate list of which ports are real and which should be ignored, or else try to distinguish real errors from those caused by trying to access the bogus ports. -- Måns Rullgård

Re: [PATCH] pci: remove tango host controller driver

2021-01-21 Thread Måns Rullgård
> - .compatible = "sigma,smp8759-pcie", > - .data = &smp8759_ecam_ops, > - }, > - { }, > -}; > - > -static struct platform_driver tango_pcie_driver = { > - .probe = tango_pcie_probe, > - .driver = { > - .name = KBUILD_MODNAME, > - .of_match_table = tango_pcie_ids, > - .suppress_bind_attrs = true, > - }, > -}; > -builtin_platform_driver(tango_pcie_driver); > - > -/* > - * The root complex advertises the wrong device class. > - * Header Type 1 is for PCI-to-PCI bridges. > - */ > -static void tango_fixup_class(struct pci_dev *dev) > -{ > - dev->class = PCI_CLASS_BRIDGE_PCI << 8; > -} > -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SIGMA, 0x0024, tango_fixup_class); > -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SIGMA, 0x0028, tango_fixup_class); > - > -/* > - * The root complex exposes a "fake" BAR, which is used to filter > - * bus-to-system accesses. Only accesses within the range defined by this > - * BAR are forwarded to the host, others are ignored. > - * > - * By default, the DMA framework expects an identity mapping, and DRAM0 is > - * mapped at 0x8000. > - */ > -static void tango_fixup_bar(struct pci_dev *dev) > -{ > - dev->non_compliant_bars = true; > - pci_write_config_dword(dev, PCI_BASE_ADDRESS_0, 0x8000); > -} > -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SIGMA, 0x0024, tango_fixup_bar); > -DECLARE_PCI_FIXUP_EARLY(PCI_VENDOR_ID_SIGMA, 0x0028, tango_fixup_bar); > -- > > 2.29.2 > -- Måns Rullgård

Re: [PATCH 1/2] thermal: remove tango driver

2021-01-21 Thread Måns Rullgård
c int __maybe_unused tango_thermal_resume(struct device *dev) > -{ > - tango_thermal_init(dev_get_drvdata(dev)); > - return 0; > -} > - > -static SIMPLE_DEV_PM_OPS(tango_thermal_pm, NULL, tango_thermal_resume); > - > -static const struct of_device_id tango_sensor_ids[] = { > - { > - .compatible = "sigma,smp8758-thermal", > - }, > - { /* sentinel */ } > -}; > -MODULE_DEVICE_TABLE(of, tango_sensor_ids); > - > -static struct platform_driver tango_thermal_driver = { > - .probe = tango_thermal_probe, > - .driver = { > - .name = "tango-thermal", > - .of_match_table = tango_sensor_ids, > - .pm = &tango_thermal_pm, > - }, > -}; > - > -module_platform_driver(tango_thermal_driver); > - > -MODULE_LICENSE("GPL"); > -MODULE_AUTHOR("Sigma Designs"); > -MODULE_DESCRIPTION("Tango temperature sensor"); > -- > > 2.29.2 > -- Måns Rullgård

Re: [PATCH 4/5] watchdog: remove tango driver

2021-01-21 Thread Måns Rullgård
; - if (readl(dev->base + WD_COUNTER)) { > - set_bit(WDOG_HW_RUNNING, &dev->wdt.status); > - tangox_wdt_start(&dev->wdt); > - } > - > - watchdog_set_restart_priority(&dev->wdt, 128); > - > - watchdog_stop_on_unregi

Re: [PATCH net-next] net: remove aurora nb8800 driver

2021-01-21 Thread Måns Rullgård
Arnd Bergmann writes: > From: Arnd Bergmann > > The tango4 platform is getting removed, and this driver has no > other known users, so it can be removed. > > Cc: Marc Gonzalez > Cc: Mans Rullgard > Signed-off-by: Arnd Bergmann Acked-by: Mans Rullgard > --- > drivers/net/ethernet/Kconfig

Re: [PATCH 1/2] media: rc: remove tango ir driver

2021-01-21 Thread Måns Rullgård
v, RC6_CARRIER); > - > - writel_relaxed(ACK_RC6_INT, ir->rc6_base + RC6_CTRL); > - writel_relaxed((clkdiv >> 2) << 18 | clkdiv, ir->rc6_base + RC6_CLKDIV); > - > - err = devm_request_irq(dev, irq, tango_ir_irq, IRQF_SHARED, > -dev_name(dev), ir); > - if (err) > - goto err_clk; > - > - err = devm_rc_register_device(dev, rc); > - if (err) > - goto err_clk; > - > - platform_set_drvdata(pdev, ir); > - return 0; > - > -err_clk: > - clk_disable_unprepare(ir->clk); > - return err; > -} > - > -static int tango_ir_remove(struct platform_device *pdev) > -{ > - struct tango_ir *ir = platform_get_drvdata(pdev); > - > - clk_disable_unprepare(ir->clk); > - return 0; > -} > - > -static const struct of_device_id tango_ir_dt_ids[] = { > - { .compatible = "sigma,smp8642-ir" }, > - { } > -}; > -MODULE_DEVICE_TABLE(of, tango_ir_dt_ids); > - > -static struct platform_driver tango_ir_driver = { > - .probe = tango_ir_probe, > - .remove = tango_ir_remove, > - .driver = { > - .name = DRIVER_NAME, > - .of_match_table = tango_ir_dt_ids, > - }, > -}; > -module_platform_driver(tango_ir_driver); > - > -MODULE_DESCRIPTION("SMP86xx IR decoder driver"); > -MODULE_AUTHOR("Mans Rullgard "); > -MODULE_LICENSE("GPL"); > -- > > 2.29.2 > -- Måns Rullgård

Re: [PATCH 1/2] irqchip: remove sigma tango driver

2021-01-21 Thread Måns Rullgård
failed to get IRQ", node); > - > - err = of_address_to_resource(node, 0, &res); > - if (err) > - panic("%pOFn: failed to get address", node); > - > - chip = kzalloc(sizeof(*chip), GFP_KERNEL); > - chip->ctl = res.start - baseres->start; > - chip->base = base; > - > - dom = irq_domain_add_linear(node, 64, &irq_generic_chip_ops, chip); > - if (!dom) > - panic("%pOFn: failed to create irqdomain", node); > - > - err = irq_alloc_domain_generic_chips(dom, 32, 2, node->name, > - handle_level_irq, 0, 0, 0); > - if (err) > - panic("%pOFn: failed to allocate irqchip", node); > - > - tangox_irq_domain_init(dom); > - > - irq_set_chained_handler_and_data(irq, tangox_irq_handler, dom); > - > - return 0; > -} > - > -static int __init tangox_of_irq_init(struct device_node *node, > - struct device_node *parent) > -{ > - struct device_node *c; > - struct resource res; > - void __iomem *base; > - > - base = of_iomap(node, 0); > - if (!base) > - panic("%pOFn: of_iomap failed", node); > - > - of_address_to_resource(node, 0, &res); > - > - for_each_child_of_node(node, c) > - tangox_irq_init(base, &res, c); > - > - return 0; > -} > -IRQCHIP_DECLARE(tangox_intc, "sigma,smp8642-intc", tangox_of_irq_init); > -- > > 2.29.2 > -- Måns Rullgård

Re: [PATCH 2/4] timer: remove tango driver

2021-01-21 Thread Måns Rullgård
ot;, xtal_freq, 350, > - 32, clocksource_mmio_readl_up); > - if (ret) { > - pr_err("%pOF: registration failed\n", np); > - return ret; > - } > - > - sched_clock_register(read_sched_clock, 32, xtal_freq); > - register_current_timer_delay(&delay_timer); > - > - return 0; > -} > - > -TIMER_OF_DECLARE(tango, "sigma,tick-counter", tango_clocksource_init); > -- > > 2.29.2 > -- Måns Rullgård

Re: Old platforms: bring out your dead

2021-01-11 Thread Måns Rullgård
e tango3 and tango4 boards. > > Waiting for his take on the matter. > > I can point out some device-specific drivers that would become > useless if tango support were dropped. I have tango3 and tango4 boards. Can't say I'm using them for anything, though. With the entire platform dead at the vendor level, removal seems like a reasonable choice. -- Måns Rullgård

Re: [RESEND PATCH 4/5] ARM: dts: tango: Align L2 cache-controller nodename with dtschema

2020-08-19 Thread Måns Rullgård
t;; > reg = <0x2010 0x1000>; > cache-level = <2>; > -- > 2.17.1 > -- Måns Rullgård

Re: [PATCH] drm: sun4i: hdmi: Fix inverted HPD result

2020-07-14 Thread Måns Rullgård
ned long reg; > > reg = readl(hdmi->base + SUN4I_HDMI_HPD_REG); > - if (reg & SUN4I_HDMI_HPD_HIGH) { > + if (!(reg & SUN4I_HDMI_HPD_HIGH)) { > cec_phys_addr_invalidate(hdmi->cec_adap); > return connector_status_disconnected; > } > -- > 2.27.0 > -- Måns Rullgård

Re: [PATCH] i2c: core: check returned size of emulated smbus block read

2020-06-26 Thread Måns Rullgård
"Invalid block size returned: %d\n", >> +msg[1].buf[0]); >> +status = -EINVAL; > > I changed this to -EPROTO as described in > Documentation/i2c/fault-codes.rst. > > Applied to for-current, thanks! > -- Måns Rullgård

Re: [PATCH] ARM: dts: tango: Align L2 cache-controller nodename with dtschema

2020-06-26 Thread Måns Rullgård
t;; > reg = <0x2010 0x1000>; > cache-level = <2>; > -- > 2.17.1 > -- Måns Rullgård

Re: [PATCH] media: rc: Use devm_platform_ioremap_resource() in tango_ir_probe()

2019-09-18 Thread Måns Rullgård
_resource(dev, rc6_res); > + ir->rc6_base = devm_platform_ioremap_resource(pdev, 1); > if (IS_ERR(ir->rc6_base)) > return PTR_ERR(ir->rc6_base); > > -- > 2.23.0 > -- Måns Rullgård

Re: [PATCH -next 12/15] thermal: tango: use devm_platform_ioremap_resource() to simplify code

2019-09-05 Thread Måns Rullgård
ruct platform_device *pdev) > if (!priv) > return -ENOMEM; > > - res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > - priv->base = devm_ioremap_resource(&pdev->dev, res); > + priv->base = devm_platform_ioremap_resource(pdev, 0); >

Re: [PATCH] irqchip/tango: Add NULL check after memory operation

2019-07-22 Thread Måns Rullgård
ls, the system will not work anyway. - Replace the panic() calls with error returns and check the return value in tangox_of_irq_init(). The system will still end up unusable. -- Måns Rullgård

Re: [PATCH] usb: musb: sunxi: propagate devicetree node to glue pdev

2019-06-27 Thread Måns Rullgård
= "musb-hdrc"; > pinfo.id= PLATFORM_DEVID_AUTO; > pinfo.parent= &pdev->dev; > + pinfo.fwnode= of_fwnode_handle(pdev->dev.of_node); > + pinfo.of_node_reused = true; > pinfo.res = pdev->resource; > pinfo.num_res = pdev->num_resources; > pinfo.data = &pdata; > -- > 2.20.1 > -- Måns Rullgård

Re: [PATCH 0/5] Exynos EHCI/OHCI: resolve conflict with the generic USB device bindings

2019-05-22 Thread Måns Rullgård
Marek Szyprowski writes: > Hi Måns > > On 2019-05-21 15:30, Måns Rullgård wrote: >> Marek Szyprowski writes: >>> Dear All, >>> >>> Commit 69bec7259853 ("USB: core: let USB device know device node") added >>> support for attaching dev

Re: [PATCH 0/5] Exynos EHCI/OHCI: resolve conflict with the generic USB device bindings

2019-05-21 Thread Måns Rullgård
; conflict"), but it disabled support for USB device binding for Exynos > EHCI/OHCI controllers. > > This patchset tries to resolve this binding conflict by changing Exynos > EHCI/OHCI bindings: PHYs are moved from the sub-nodes to a standard array > under the 'phys' pro

Re: [PATCH v2] usb: core: verify devicetree nodes for disabled interfaces

2019-05-08 Thread Måns Rullgård
Marek Szyprowski writes: > Hi > > On 2019-05-08 13:46, Måns Rullgård wrote: >> Marek Szyprowski writes: >>> Commit 01fdf179f4b0 ("usb: core: skip interfaces disabled in devicetree") >>> add support for disabling given USB device interface by adding

Re: [PATCH 23/23] watchdog: tangox_wdt: Convert to use device managed functions and other improvements

2019-04-10 Thread Måns Rullgård
ta(pdev); > - > - tangox_wdt_stop(&dev->wdt); > - clk_disable_unprepare(dev->clk); > - > - watchdog_unregister_device(&dev->wdt); > - > - return 0; > } > > static const struct of_device_id tangox_wdt_dt_ids[] = { > @@ -204,7 +196,6 @@ MODULE_DEVICE_TABLE(of, tangox_wdt_dt_ids); > > static struct platform_driver tangox_wdt_driver = { > .probe = tangox_wdt_probe, > - .remove = tangox_wdt_remove, > .driver = { > .name = "tangox-wdt", > .of_match_table = tangox_wdt_dt_ids, > -- > 2.7.4 > -- Måns Rullgård

Re: [PATCH v2 1/3] ARM: use arch_extension directive instead of arch argument

2019-04-09 Thread Måns Rullgård
gt; stmfd sp!, {r4-r11, lr} > smc #0 [...] > diff --git a/arch/arm/mach-tango/smc.S b/arch/arm/mach-tango/smc.S > index 361a8dc89804..cf2d21e5226c 100644 > --- a/arch/arm/mach-tango/smc.S > +++ b/arch/arm/mach-tango/smc.S > @@ -1,6 +1,7 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > #include > > + .arch_extension sec > ENTRY(tango_smc) > push{lr} > mov ip, r1 Is there some reason these three don't need the .arch directive? -- Måns Rullgård

Re: [PATCH 1/3] ARM: use arch_extension directive instead of arch argument

2019-03-23 Thread Måns Rullgård
b/arch/arm/mach-tango/smc.S > @@ -1,6 +1,7 @@ > /* SPDX-License-Identifier: GPL-2.0 */ > #include > > + .arch_extension sec > ENTRY(tango_smc) > push{lr} > mov ip, r1 For Tango: Acked-by: Mans Rullgard -- Måns Rullgård

Re: [PATCH] drm/sun4i: hdmi: add support for ddc-i2c-bus property

2019-03-18 Thread Måns Rullgård
Maxime Ripard writes: > On Thu, Mar 14, 2019 at 04:09:13PM +0000, Måns Rullgård wrote: >> Maxime Ripard writes: >> >> > On Mon, Mar 11, 2019 at 04:11:06PM +, Måns Rullgård wrote: >> >> Maxime Ripard writes: >> >> >> >> > Hi!

Re: [PATCH 3/3] auxdisplay: charlcd: make backlight initial state configurable

2019-03-17 Thread Måns Rullgård
Miguel Ojeda writes: > On Tue, Mar 12, 2019 at 4:48 PM Måns Rullgård wrote: >> >> The current code unconditionally flashes the light once. I though it >> best to keep that behaviour as default, even if it's not seen as ideal. > > Sent into -next. If no one els

Re: [PATCH v2 0/4] Patches to allow consistent mmc / mmcblk numbering w/ device tree

2019-03-17 Thread Måns Rullgård
t boards > with different SoC's. I have a couple of SD cards with various rootfs > and use internal eMMC boot quite often as well. Remembering which board > uses which numbering is a pain. Maintaining a patch is just easier... > Furthermore, U-Boot allows reordering and all boards I deal with use mmc > 0 for the internal eMMC. The aliases allow consistency. Since pretty much every other device type supports renumbering with DT aliases, it would make sense to do this for mmc as well. -- Måns Rullgård

Re: [PATCH 3/3] auxdisplay: charlcd: make backlight initial state configurable

2019-03-12 Thread Måns Rullgård
r > off, not flashing for sure. > Though it seems the case before the patch... The current code unconditionally flashes the light once. I though it best to keep that behaviour as default, even if it's not seen as ideal. -- Måns Rullgård

Re: [PATCH 1/3] auxdisplay: deconfuse configuration

2019-03-06 Thread Måns Rullgård
g this marking). The option is there so 'make oldconfig' on existing configurations doesn't silently drop that driver since it now depends on AUXDISPLAY. There have been similar cases when shuffling options. Maybe they used a different tag. We could of course let the three people using that driver deal with it themselves. >> + depends on PARPORT >> + select AUXDISPLAY >> + select PARPORT_PANEL > > I agree the menu was a bit convoluted and we didn't get to clean it. > > Since you are touching the panel.c options, CC'ing the maintainers > (please do run get_maintainer.pl in that case!) I always run get_maintainer.pl on patches. Sometimes it isn't clever enough to figure out all the people who might be interested. -- Måns Rullgård

Re: [PATCH 3/3] auxdisplay: charlcd: make backlight initial state configurable

2019-03-06 Thread Måns Rullgård
you mind if I change > it before sending it to linux-next? Otherwise, looks fine to me. > Thanks! Of course I don't mind. -- Måns Rullgård

Re: [PATCH v2 0/4] Patches to allow consistent mmc / mmcblk numbering w/ device tree

2019-03-05 Thread Måns Rullgård
an option for multiple reasons: - We have two rootfs partitions for ping-pong updates, so simply referring to "the thing with ID foo" doesn't work. - Installing said updates needs direct access the device/partition, which may not even have a filesystem. - The u-boot environment is stored in an eMMC "boot" partition, and userspace needs to know where to find it. I'm sure I'm not the only one in a similar situation. Russel, feel free to shout abuse at me. I don't care, but it makes you look stupid. -- Måns Rullgård

Re: [PATCH] can: ti_hecc: fix close when napi poll is active

2019-03-01 Thread Måns Rullgård
> num_pkts < quota) { > mbx_mask = BIT(priv->rx_next); /* next rx mailbox to process */ > -- > 2.7.4 This seems to have been lost or forgotten. -- Måns Rullgård

Re: [PATCH v2] net: cpsw: fix obtaining mac address for am3517

2019-03-01 Thread Måns Rullgård
RCE_MEM, 1); >> ... >> rc = davinci_emac_try_get_mac(pdev, res_ctrl ? 0 : 1, >> priv->mac_addr); >> >> So it there are two ranges, the slave param becomes 0. It there is only one, >> it >> will be 1. Since the am3517 only has a single regs entry it ends up with >> slave 1, >> while there is only a single davinci_emac. > > OK thanks for clarifying it: > > Acked-by: Tony Lindgren What happened to this patch? -- Måns Rullgård

Re: [RFC][PATCH] dt-bindings: usb: add non-removable device property

2019-02-28 Thread Måns Rullgård
Greg Kroah-Hartman writes: > On Thu, Feb 28, 2019 at 03:22:24PM +0000, Måns Rullgård wrote: >> Greg Kroah-Hartman writes: >> >> > On Thu, Feb 28, 2019 at 02:33:44PM +, Mans Rullgard wrote: >> >> Add a boolean property indicating that a device is

Re: [RFC][PATCH] dt-bindings: usb: add non-removable device property

2019-02-28 Thread Måns Rullgård
* Otherwise, check whether DT indicates this device is non-removable. +*/ + if (of_property_read_bool(udev->dev.of_node, "non-removable")) { + udev->removable = USB_DEVICE_FIXED; + return; + } + /* * Otherwise, check whether the hub knows whether a port is removable * or not -- Måns Rullgård

Re: [PATCH] USB: serial: option: set driver_info for SIM5218 and compatibles

2019-02-27 Thread Måns Rullgård
Johan Hovold writes: > Adding Bjørn. > > On Wed, Feb 27, 2019 at 11:57:16AM +0000, Måns Rullgård wrote: >> Johan Hovold writes: >> >> > On Tue, Feb 26, 2019 at 05:07:10PM +, Mans Rullgard wrote: >> >> The SIMCom SIM5218 and compatible devices ha

Re: [PATCH] USB: serial: option: set driver_info for SIM5218 and compatibles

2019-02-27 Thread Måns Rullgård
device speed): bLength10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize064 bNumConfigurations 1 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x (Bus Powered) -- Måns Rullgård

Re: [PATCH v3] platform: set of_node in platform_device_register_full()

2019-02-22 Thread Måns Rullgård
ice_put(), should it ever be called. Moreover, these devices are not removed if the module is unloaded or if there is an error partway through the loop. That said, it doesn't seem like setting of_node in platform_device_register_full() should cause any (new) problems here. -- Måns Rullgård

Re: [PATCH] platform: set of_node in platform_device_register_full()

2019-02-20 Thread Måns Rullgård
"Rafael J. Wysocki" writes: > On Wed, Feb 20, 2019 at 1:12 PM Måns Rullgård wrote: >> >> Johan Hovold writes: >> >> > On Wed, Feb 20, 2019 at 11:35:06AM +, Mans Rullgard wrote: >> >> If the provided fwnode is an OF node, set dev.of_node a

Re: [PATCH] platform: set of_node in platform_device_register_full()

2019-02-20 Thread Måns Rullgård
.c >> +++ b/drivers/base/platform.c >> @@ -512,6 +512,7 @@ struct platform_device *platform_device_register_full( >> >> pdev->dev.parent = pdevinfo->parent; >> pdev->dev.fwnode = pdevinfo->fwnode; >> +pdev->dev.of_node = of_node_get(to_of_node(pdev->dev.fwnode)); >> >> if (pdevinfo->dma_mask) { >> /* > > Johan -- Måns Rullgård

Re: [PATCH] platform: set of_node in platform_device_register_full()

2019-02-20 Thread Måns Rullgård
> > pdev->dev.parent = pdevinfo->parent; > pdev->dev.fwnode = pdevinfo->fwnode; > + pdev->dev.of_node = of_node_get(to_of_node(pdev->dev.fwnode)); > > if (pdevinfo->dma_mask) { > /* > -- Sorry, I forgot to add a v2 to this. Anyway, the only change is the commit message. -- Måns Rullgård

Re: [PATCH] platform: set of_node in platform_device_register_full()

2019-02-20 Thread Måns Rullgård
"Rafael J. Wysocki" writes: > On Wed, Feb 20, 2019 at 11:41 AM Måns Rullgård wrote: >> >> "Rafael J. Wysocki" writes: >> >> > On Mon, Feb 18, 2019 at 12:10 PM Måns Rullgård wrote: >> >> >> >> "Rafael J. Wysoc

Re: [PATCH] ARM: dts: sun7i: add pinctrl for missing uart mux options

2019-02-20 Thread Måns Rullgård
t; >> So please add this to all the new nodes. It seems to work regardless whether >> you add it before or after the label, though having it after the label seems >> to make vim syntax highlighting happier. Should we also add this to existing nodes? BTW, I really do need all those uart pin options. -- Måns Rullgård

Re: [PATCH] platform: set of_node in platform_device_register_full()

2019-02-20 Thread Måns Rullgård
"Rafael J. Wysocki" writes: > On Mon, Feb 18, 2019 at 12:10 PM Måns Rullgård wrote: >> >> "Rafael J. Wysocki" writes: >> >> > On Sat, Feb 16, 2019 at 5:50 PM Mans Rullgard wrote: >> >> >> >> If the provided fwno

Re: [PATCH] ARM: dts: sun7i: add pinctrl for missing uart mux options

2019-02-20 Thread Måns Rullgård
s > line, so something like: > > /omit-if-no-ref/ > uart0_pf_pins: uart0-pf-pins { > }; > > And it does have the advantage of keeping the same line width, which > could get pretty long on some nodes. Thanks, I'd missed that directive. It always seems needlessly annoying to make everybody working on a new board to add those nodes separately. -- Måns Rullgård

Re: [PATCH] usb: core: skip interfaces disabled in devicetree

2019-02-19 Thread Måns Rullgård
and_ it has and explicit status = "disabled" property. The default is still to create devices for all interfaces. That said, printing a message is probably a good idea anyway. Would "info" level be appropriate for this? -- Måns Rullgård

Re: [PATCH] platform: set of_node in platform_device_register_full()

2019-02-18 Thread Måns Rullgård
27;s kobject, so > when is that reference dropped? Or if it doesn't need to be dropped > at all, why is this the case? platform_device_release() calls of_device_node_put(). -- Måns Rullgård

Re: [PATCH -next] irqchip/tango: Fix potential NULL pointer dereference

2019-01-29 Thread Måns Rullgård
m still panic on errors during init. There's really not much else that can sanely be done since nothing will work without irq handling. As for the error return added by this patch, nothing checks it, so a failure would merely result in the irqchip being silently skipped and nothing working.

Re: [PATCH] auxdisplay: charlcd: fix x/y command parsing

2018-12-14 Thread Måns Rullgård
Miguel Ojeda writes: > Hi Måns, > > On Thu, Dec 6, 2018 at 1:06 PM Måns Rullgård wrote: >> >> >> BTW, the parsing of this command has been broken since 3.2-rc1 due to >> >> commit 129957069e6a. >> > >> > Thanks for checking! Are you

Re: [PATCH] auxdisplay: charlcd: fix x/y command parsing

2018-12-06 Thread Måns Rullgård
Miguel Ojeda writes: > On Wed, Dec 5, 2018 at 6:58 PM Måns Rullgård wrote: >> >> Suppose the command "\e[Lx0y0;" is written to the device. The >> charlcd_write_char() function adds one character at a time to the escape >> sequence buffer. > > Ah, yes

Re: [PATCH] auxdisplay: charlcd: fix x/y command parsing

2018-12-05 Thread Måns Rullgård
ntil we have seen one. With the characters being added to the buffer one by one, it is enough to check for semicolon at the end. BTW, the parsing of this command has been broken since 3.2-rc1 due to commit 129957069e6a. -- Måns Rullgård

Re: [PATCH] mm: fix insert_pfn() return value

2018-11-27 Thread Måns Rullgård
patch author when you claim to > be fixing a bug in their patch. Sorry about that. Blame the get-maintainers script. -- Måns Rullgård

Re: [PATCH] dmaengine: enable mxs-dma for imx6sx

2017-08-22 Thread Måns Rullgård
pends on SOC_IMX23 || SOC_IMX28 || SOC_IMX6Q || SOC_IMX6SX || >> SOC_IMX6UL >> select STMP_DEVICE >> select DMA_ENGINE >> help >> -- >> 2.14.1 >> > > -- > ~Vinod -- Måns Rullgård

Re: [PATCH v3] irqchip/tango: Don't use incorrect irq_mask_ack callback

2017-08-19 Thread Måns Rullgård
Florian Fainelli writes: > What do we do with this patch series to move forward? Can we get Doug's > changes queued up for 4.14? My opinion is that the correct combined function should be added and the tango driver updated to use it. Patches already exist, so what are we waiting for

Re: [PATCH v3] irqchip/tango: Don't use incorrect irq_mask_ack callback

2017-07-26 Thread Måns Rullgård
Florian Fainelli writes: > On 07/25/2017 06:29 AM, Måns Rullgård wrote: >> Marc Gonzalez writes: >> >>> On 25/07/2017 15:16, Måns Rullgård wrote: >>> >>>> What happened to the patch adding the proper combined function? >>&g

Re: [PATCH v3] irqchip/tango: Don't use incorrect irq_mask_ack callback

2017-07-25 Thread Måns Rullgård
Marc Gonzalez writes: > On 25/07/2017 15:16, Måns Rullgård wrote: > >> What happened to the patch adding the proper combined function? > > It appears you're not CCed on v2. > > https://patchwork.kernel.org/patch/9859799/ > > Doug wrote: >> Yes, you under

Re: [PATCH v3] irqchip/tango: Don't use incorrect irq_mask_ack callback

2017-07-25 Thread Måns Rullgård
ct[i].chip.irq_mask_ack = irq_gc_mask_disable_reg_and_ack; > ct[i].chip.irq_unmask = irq_gc_unmask_enable_reg; > ct[i].chip.irq_set_type = tangox_irq_set_type; > ct[i].chip.name = gc->domain->name; > -- What happened to the patch adding the proper combined function? -- Måns Rullgård

Re: [PATCH 2/6] irqchip/tango: Use irq_gc_mask_disable_and_ack_set

2017-07-13 Thread Måns Rullgård
reg; >> -ct[i].chip.irq_mask_ack = irq_gc_mask_disable_reg_and_ack; >> +ct[i].chip.irq_mask_ack = irq_gc_mask_disable_and_ack_set; >> ct[i].chip.irq_unmask = irq_gc_unmask_enable_reg; >> ct[i].chip.irq_set_type = tangox_irq_set_type; >> ct[i].chip.name = gc->domain->name; >> > -- Måns Rullgård

Re: [PATCH 1/6] genirq: generic chip: add generic irq_mask_ack functions

2017-07-12 Thread Måns Rullgård
p_data(d); >> +struct irq_chip_type *ct = irq_data_get_chip_type(d); >> +u32 mask = d->mask; >> + >> +irq_gc_lock(gc); >> +irq_reg_writel(gc, mask, ct->regs.disable); >> +*ct->mask_cache &= ~mask; >> +irq_reg_writel(gc, mask, ct->regs.ack); >> +irq_gc_unlock(gc); >> +} This function looks like it should probably be used instead. I'll try to remember to test it when I have time to fire up that hardware. -- Måns Rullgård

Re: Arrays of variable length

2017-03-09 Thread Måns Rullgård
Tomas Winkler writes: > On Thu, Mar 9, 2017 at 4:26 PM, Måns Rullgård wrote: >> Tomas Winkler writes: >> >>> On Thu, Mar 9, 2017 at 4:16 PM, Måns Rullgård wrote: >>>> Tomas Winkler writes: >>>> >>>>> On Thu, Mar 9, 2017

Re: Arrays of variable length

2017-03-09 Thread Måns Rullgård
Tomas Winkler writes: > On Thu, Mar 9, 2017 at 4:16 PM, Måns Rullgård wrote: >> Tomas Winkler writes: >> >>> On Thu, Mar 9, 2017 at 3:02 PM, Måns Rullgård wrote: >>>> Tomas Winkler writes: >>>> >>>>> On Mon, Mar 6, 2017 at 2:

Re: Arrays of variable length

2017-03-09 Thread Måns Rullgård
Tomas Winkler writes: > On Thu, Mar 9, 2017 at 3:02 PM, Måns Rullgård wrote: >> Tomas Winkler writes: >> >>> On Mon, Mar 6, 2017 at 2:31 AM, Måns Rullgård wrote: >>>> Henrique de Moraes Holschuh writes: >>>> >>>>> On Sun,

Re: Arrays of variable length

2017-03-09 Thread Måns Rullgård
Tomas Winkler writes: > On Mon, Mar 6, 2017 at 2:31 AM, Måns Rullgård wrote: >> Henrique de Moraes Holschuh writes: >> >>> On Sun, 05 Mar 2017, Måns Rullgård wrote: >>>> Tomas Winkler writes: >>>> > Sparse complains for arrays declared wi

Re: Arrays of variable length

2017-03-05 Thread Måns Rullgård
Henrique de Moraes Holschuh writes: > On Sun, 05 Mar 2017, Måns Rullgård wrote: >> Tomas Winkler writes: >> > Sparse complains for arrays declared with variable length >> > >> > 'warning: Variable length array is used' >> > >> &g

Re: Arrays of variable length

2017-03-05 Thread Måns Rullgård
ster for the frame pointer, and it often prevents inlining. -- Måns Rullgård

Re: [PATCH 56/62] watchdog: tangox_wdt: Convert to use device managed functions

2017-01-12 Thread Måns Rullgård
ard stops just short of declaring pointer to void compatible with other pointer types. > However, I agree that it will work as expected on typical platforms > (where all pointers are the same size, and the calling convention > treats all pointers the same). Yes, I don't see how it could possibly go wrong. -- Måns Rullgård

Re: [PATCH 56/62] watchdog: tangox_wdt: Convert to use device managed functions

2017-01-11 Thread Måns Rullgård
k C permits for "undefined behavior, strictly speaking". > Besides, that same mechanism is already used elsewhere, which is how I > got the idea. Are you claiming that there are situations where it won't > work ? A pointer to void is interchangeable with any other pointer type. That doesn't necessarily imply that pointers to functions taking arguments of different pointer types (as we have here) are always compatible. I'd have to read the C standard carefully to see if there's any such promise, and I have other things to do right now. I am, however, not aware of any ABI (certainly none used by Linux) where it would pose a problem. -- Måns Rullgård

Re: [PATCH 4/4] watchdog: tangox: Use watchdog core to install restart handler

2017-01-05 Thread Måns Rullgård
restart.notifier_call = tangox_wdt_restart; >> -dev->restart.priority = 128; >> -err = register_restart_handler(&dev->restart); >> -if (err) >> -dev_warn(&pdev->dev, "failed to register restart handler\n"); >> - >> dev_info(&pdev->dev, "SMP86xx/SMP87xx watchdog registered\n"); >> >> return 0; >> @@ -202,7 +193,6 @@ static int tangox_wdt_remove(struct platform_device >> *pdev) >> tangox_wdt_stop(&dev->wdt); >> clk_disable_unprepare(dev->clk); >> >> -unregister_restart_handler(&dev->restart); >> watchdog_unregister_device(&dev->wdt); >> >> return 0; >> -- Måns Rullgård

Re: Moratorium on coding style patches (was Re: [PATCH] include/linux/kernel.h: fixed coding style issues)

2016-12-15 Thread Måns Rullgård
Joe Perches writes: > On Wed, 2016-12-14 at 18:13 +0000, Måns Rullgård wrote: >> Alexey Dobriyan writes: >> > I call for a tree wide moratorium on pure coding style changes. > [] >> I'd relax this slightly and say don't do style >> patches unless as a

Re: Moratorium on coding style patches (was Re: [PATCH] include/linux/kernel.h: fixed coding style issues)

2016-12-14 Thread Måns Rullgård
k at the code I'm trying to debug without wanting to claw my eyes out. In such cases, an initial cleanup patch often makes the actual fix much easier to comprehend. There's not a lot such code in the kernel, thankfully, but it does exist. > Said that, I call for a tree wide morat

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-12 Thread Måns Rullgård
David Laight writes: > From: Måns Rullgård >> Sent: 10 December 2016 13:25 > ... >> I solved this problem in an Ethernet driver by copying the initial part >> of the packet to an aligned skb and appending the remainder using >> skb_add_rx_frag(). The kernel netw

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-11 Thread Måns Rullgård
ur protocol. Always include some way of extending the protocol in the future. A single bit is often enough. Require a value of zero initially, then if you ever want to change anything, setting it to one can indicate whatever you want, including a complete redesign of the header. Alternatively, a o

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-10 Thread Måns Rullgård
Felix Fietkau writes: > On 2016-12-10 14:25, Måns Rullgård wrote: >> Felix Fietkau writes: >> >>> On 2016-12-07 19:54, Jason A. Donenfeld wrote: >>>> On Wed, Dec 7, 2016 at 7:51 PM, David Miller wrote: >>>>> It's so much better to anal

Re: Misalignment, MIPS, and ip_hdr(skb)->version

2016-12-10 Thread Måns Rullgård
e remainder using skb_add_rx_frag(). The kernel network stack only cares about the headers, so the alignment of the packet payload doesn't matter. -- Måns Rullgård

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-09 Thread Måns Rullgård
A) solves this. Driver-specific interfaces are not the solution. That way lies chaos and madness. This would all be so much easier if you all would just shut up for a moment and let me fix it properly. -- Måns Rullgård

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-09 Thread Måns Rullgård
Sebastian Frias writes: > On 09/12/16 07:59, Vinod Koul wrote: >> On Thu, Dec 08, 2016 at 04:48:18PM +0000, Måns Rullgård wrote: >>> Vinod Koul writes: >>> >>>> To make it efficient, disregarding your Sbox HW issue, the solution is >>>> vir

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
ired so they cant use any channel. But > if you dont have this restriction then driver can queue up many transactions > from different controllers. Have you been paying attention at all? This exactly what the driver ALREADY DOES. -- Måns Rullgård

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Vinod Koul writes: > On Thu, Dec 08, 2016 at 11:44:53AM +0000, Måns Rullgård wrote: >> Vinod Koul writes: >> >> > On Wed, Dec 07, 2016 at 04:45:58PM +, Måns Rullgård wrote: >> >> Vinod Koul writes: >> >> >> >> >

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Vinod Koul writes: > On Thu, Dec 08, 2016 at 12:20:30PM +0000, Måns Rullgård wrote: >> > >> > I'm far from claiming that drivers/tty/serial/sh-sci.c is perfect, but >> > it does request DMA channels at open time, not at probe time. >> >> In the par

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Mason writes: > On 08/12/2016 13:44, Måns Rullgård wrote: > >> Mason writes: >> >>> On 08/12/2016 13:20, Måns Rullgård wrote: >>> >>>> The only problem we have is that nobody envisioned hardware where the >>>> dma engine indicates com

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Mason writes: > On 08/12/2016 13:20, Måns Rullgård wrote: > >> The only problem we have is that nobody envisioned hardware where the >> dma engine indicates completion slightly too soon. I suspect there's a >> fifo or such somewhere, and the interrupt is triggered w

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Geert Uytterhoeven writes: > Hi Måns, > > On Thu, Dec 8, 2016 at 12:47 PM, Måns Rullgård wrote: >> Geert Uytterhoeven writes: >>> On Thu, Dec 8, 2016 at 11:54 AM, Mason wrote: >>>> On 08/12/2016 11:39, Vinod Koul wrote: >>>>> On Wed, De

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Geert Uytterhoeven writes: > On Thu, Dec 8, 2016 at 12:44 PM, Måns Rullgård wrote: >> Vinod Koul writes: >>> On Wed, Dec 07, 2016 at 04:45:58PM +0000, Måns Rullgård wrote: >>>> Vinod Koul writes: >>>> > On Tue, Dec 06, 2016 at 01:14:20PM +, Mån

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Geert Uytterhoeven writes: > On Thu, Dec 8, 2016 at 11:54 AM, Mason wrote: >> On 08/12/2016 11:39, Vinod Koul wrote: >>> On Wed, Dec 07, 2016 at 04:45:58PM +0000, Måns Rullgård wrote: >>>> Vinod Koul writes: >>>>> On Tue, Dec 06, 2016 at 01:14:20PM

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Vinod Koul writes: > On Wed, Dec 07, 2016 at 04:45:58PM +0000, Måns Rullgård wrote: >> Vinod Koul writes: >> >> > On Tue, Dec 06, 2016 at 01:14:20PM +, Måns Rullgård wrote: >> >> >> >> That's not going to work very well. Device driver

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-08 Thread Måns Rullgård
Vinod Koul writes: > On Wed, Dec 07, 2016 at 04:44:55PM +0000, Måns Rullgård wrote: >> Vinod Koul writes: >> >> >> >> What you're proposing, Vinod, is to make a channel exclusive >> >> to a driver, as long as the driver has not explicitly r

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-07 Thread Måns Rullgård
Vinod Koul writes: > On Tue, Dec 06, 2016 at 01:14:20PM +0000, Måns Rullgård wrote: >> >> That's not going to work very well. Device drivers typically request >> dma channels in their probe functions or when the device is opened. >> This means that reserving on

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-07 Thread Måns Rullgård
l(), right? > > Precisely, but yes the downside of that is concurrent access are > limited, but am not sure if driver implements virtual channels and > allows that.. My driver implements virtual channels. The problem is that the physical dma channels signal completion slightly too soon, at least with mem-to-device transfers. Apparently we need to keep the sbox routing until the peripheral indicates that it has actually received all the data. -- Måns Rullgård

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-06 Thread Måns Rullgård
Mason writes: > On 06/12/2016 14:14, Måns Rullgård wrote: > >> Mason wrote: >> >>> On 06/12/2016 06:12, Vinod Koul wrote: >>> >>>> On Tue, Nov 29, 2016 at 07:25:02PM +0100, Mason wrote: >>>> >>>>> Is there a way to write

Re: Tearing down DMA transfer setup after DMA client has finished

2016-12-06 Thread Måns Rullgård
to deliberately cripple the software support in order to shoehorn it into an incomplete model of how hardware ought to work. While I agree it would be nicer if all hardware actually did work that way, this isn't the reality we're living in. -- Måns Rullgård

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Mason writes: > On 25/11/2016 16:12, Måns Rullgård wrote: > >> Mason writes: >> >>> I've had several talks with the HW dev, and I don't think they >>> anticipated the need to mux the 3 channels. In their minds, >>> customers would choose a

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Russell King - ARM Linux writes: > On Fri, Nov 25, 2016 at 02:40:21PM +0000, Måns Rullgård wrote: >> Russell King - ARM Linux writes: >> >> > On Fri, Nov 25, 2016 at 02:03:20PM +, Måns Rullgård wrote: >> >> Russell King - ARM Linux writes: >> >

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Mason writes: > On 25/11/2016 15:17, Russell King - ARM Linux wrote: >> On Fri, Nov 25, 2016 at 02:03:20PM +0000, Måns Rullgård wrote: >>> Russell King - ARM Linux writes: >>> >>>> On Fri, Nov 25, 2016 at 01:50:35PM +, Måns Rullgård wrote: >>&g

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Mason writes: > On 25/11/2016 15:12, Måns Rullgård wrote: > >> Mason writes: >> >>> On 25/11/2016 12:57, Måns Rullgård wrote: >>> >>>> The same DMA unit is also used for SATA, which is an off the shelf >>>> Designware controller with

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Russell King - ARM Linux writes: > On Fri, Nov 25, 2016 at 02:03:20PM +0000, Måns Rullgård wrote: >> Russell King - ARM Linux writes: >> >> > On Fri, Nov 25, 2016 at 01:50:35PM +, Måns Rullgård wrote: >> >> Russell King - ARM Linux writes: >> >

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Mason writes: > On 25/11/2016 14:11, Måns Rullgård wrote: > >> Mason writes: >> >>> It seems there is a disconnect between what Linux expects - an IRQ >>> when the transfer is complete - and the quirks of this HW :-( >>> >>> On this syste

Re: Tearing down DMA transfer setup after DMA client has finished

2016-11-25 Thread Måns Rullgård
Mason writes: > On 25/11/2016 12:57, Måns Rullgård wrote: > >> The same DMA unit is also used for SATA, which is an off the shelf >> Designware controller with an in-kernel driver. This interrupt timing >> glitch can actually explain some intermittent errors I've

  1   2   3   4   5   >