31 Dec, 2019

1 commit

  • [ Upstream commit 231ec2f24dad18d021b361045bbd618ba62a274e ]

    Usually all the distro will load the parport low level driver as part
    of their initialization. But we can get into a situation where all the
    parallel port drivers are built as module and we unload all the modules
    at a later time. Then if we just do "modprobe parport" it will only
    load the parport module and will not load the low level driver which
    will actually register the ports. So, check the bus if there is any
    parport registered, if not, load the low level driver.

    We can get into the above situation with all distro but only Suse has
    setup the alias for "parport_lowlevel" and so it only works in Suse.
    Users of Debian based distro will need to load the lowlevel module
    manually.

    Signed-off-by: Sudip Mukherjee
    Link: https://lore.kernel.org/r/20191016144540.18810-3-sudipm.mukherjee@gmail.com
    Signed-off-by: Greg Kroah-Hartman
    Signed-off-by: Sasha Levin

    Sudip Mukherjee
     

19 Sep, 2019

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the big char/misc driver pull request for 5.4-rc1.

    As has been happening in previous releases, more and more individual
    driver subsystem trees are ending up in here. Now if that is good or
    bad I can't tell, but hopefully it makes your life easier as it's more
    of an aggregation of trees together to one merge point for you.

    Anyway, lots of stuff in here:
    - habanalabs driver updates
    - thunderbolt driver updates
    - misc driver updates
    - coresight and intel_th hwtracing driver updates
    - fpga driver updates
    - extcon driver updates
    - some dma driver updates
    - char driver updates
    - android binder driver updates
    - nvmem driver updates
    - phy driver updates
    - parport driver fixes
    - pcmcia driver fix
    - uio driver updates
    - w1 driver updates
    - configfs fixes
    - other assorted driver updates

    All of these have been in linux-next for a long time with no reported
    issues"

    * tag 'char-misc-5.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (200 commits)
    misc: mic: Use PTR_ERR_OR_ZERO rather than its implementation
    habanalabs: correctly cast variable to __le32
    habanalabs: show correct id in error print
    habanalabs: stop using the acronym KMD
    habanalabs: display card name as sensors header
    habanalabs: add uapi to retrieve aggregate H/W events
    habanalabs: add uapi to retrieve device utilization
    habanalabs: Make the Coresight timestamp perpetual
    habanalabs: explicitly set the queue-id enumerated numbers
    habanalabs: print to kernel log when reset is finished
    habanalabs: replace __le32_to_cpu with le32_to_cpu
    habanalabs: replace __cpu_to_le32/64 with cpu_to_le32/64
    habanalabs: Handle HW_IP_INFO if device disabled or in reset
    habanalabs: Expose devices after initialization is done
    habanalabs: improve security in Debug IOCTL
    habanalabs: use default structure for user input in Debug IOCTL
    habanalabs: Add descriptive name to PSOC app status register
    habanalabs: Add descriptive names to PSOC scratch-pad registers
    habanalabs: create two char devices per ASIC
    habanalabs: change device_setup_cdev() to be more generic
    ...

    Linus Torvalds
     

04 Sep, 2019

1 commit


05 Aug, 2019

2 commits


10 Jul, 2019

1 commit

  • Pull Documentation updates from Jonathan Corbet:
    "It's been a relatively busy cycle for docs:

    - A fair pile of RST conversions, many from Mauro. These create more
    than the usual number of simple but annoying merge conflicts with
    other trees, unfortunately. He has a lot more of these waiting on
    the wings that, I think, will go to you directly later on.

    - A new document on how to use merges and rebases in kernel repos,
    and one on Spectre vulnerabilities.

    - Various improvements to the build system, including automatic
    markup of function() references because some people, for reasons I
    will never understand, were of the opinion that
    :c:func:``function()`` is unattractive and not fun to type.

    - We now recommend using sphinx 1.7, but still support back to 1.4.

    - Lots of smaller improvements, warning fixes, typo fixes, etc"

    * tag 'docs-5.3' of git://git.lwn.net/linux: (129 commits)
    docs: automarkup.py: ignore exceptions when seeking for xrefs
    docs: Move binderfs to admin-guide
    Disable Sphinx SmartyPants in HTML output
    doc: RCU callback locks need only _bh, not necessarily _irq
    docs: format kernel-parameters -- as code
    Doc : doc-guide : Fix a typo
    platform: x86: get rid of a non-existent document
    Add the RCU docs to the core-api manual
    Documentation: RCU: Add TOC tree hooks
    Documentation: RCU: Rename txt files to rst
    Documentation: RCU: Convert RCU UP systems to reST
    Documentation: RCU: Convert RCU linked list to reST
    Documentation: RCU: Convert RCU basic concepts to reST
    docs: filesystems: Remove uneeded .rst extension on toctables
    scripts/sphinx-pre-install: fix out-of-tree build
    docs: zh_CN: submitting-drivers.rst: Remove a duplicated Documentation/
    Documentation: PGP: update for newer HW devices
    Documentation: Add section about CPU vulnerabilities for Spectre
    Documentation: platform: Delete x86-laptop-drivers.txt
    docs: Note that :c:func: should no longer be used
    ...

    Linus Torvalds
     

19 Jun, 2019

1 commit

  • Based on 2 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license version 2 as
    published by the free software foundation #

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-only

    has been chosen to replace the boilerplate/reference in 4122 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Enrico Weigelt
    Reviewed-by: Kate Stewart
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190604081206.933168790@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

15 Jun, 2019

1 commit

  • The kbuild documentation clearly shows that the documents
    there are written at different times: some use markdown,
    some use their own peculiar logic to split sections.

    Convert everything to ReST without affecting too much
    the author's style and avoiding adding uneeded markups.

    The conversion is actually:
    - add blank lines and identation in order to identify paragraphs;
    - fix tables markups;
    - add some lists markups;
    - mark literal blocks;
    - adjust title markups.

    At its new index.rst, let's add a :orphan: while this is not linked to
    the main index.rst file, in order to avoid build warnings.

    Signed-off-by: Mauro Carvalho Chehab
    Signed-off-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

09 Jun, 2019

1 commit

  • Pull char/misc driver fixes from Greg KH:
    "Here are some small char and misc driver fixes for 5.2-rc4 to resolve
    a number of reported issues.

    The most "notable" one here is the kernel headers in proc^Wsysfs
    fixes. Those changes move the header file info into sysfs and fixes
    the build issues that you reported.

    Other than that, a bunch of small habanalabs driver fixes, some fpga
    driver fixes, and a few other tiny driver fixes.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-5.2-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc:
    habanalabs: Read upper bits of trace buffer from RWPHI
    habanalabs: Fix virtual address access via debugfs for 2MB pages
    fpga: zynqmp-fpga: Correctly handle error pointer
    habanalabs: fix bug in checking huge page optimization
    habanalabs: Avoid using a non-initialized MMU cache mutex
    habanalabs: fix debugfs code
    uapi/habanalabs: add opcode for enable/disable device debug mode
    habanalabs: halt debug engines on user process close
    test_firmware: Use correct snprintf() limit
    genwqe: Prevent an integer overflow in the ioctl
    parport: Fix mem leak in parport_register_dev_model
    fpga: dfl: expand minor range when registering chrdev region
    fpga: dfl: Add lockdep classes for pdata->lock
    fpga: dfl: afu: Pass the correct device to dma_mapping_error()
    fpga: stratix10-soc: fix use-after-free on s10_init()
    w1: ds2408: Fix typo after 49695ac46861 (reset on output_write retry with readback)
    kheaders: Do not regenerate archive if config is not changed
    kheaders: Move from proc to sysfs
    lkdtm/bugs: Adjust recursion test to avoid elision
    lkdtm/usercopy: Moves the KERNEL_DS test to non-canonical

    Linus Torvalds
     

31 May, 2019

2 commits

  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version this program is distributed in the
    hope that it will be useful but without any warranty without even
    the implied warranty of merchantability or fitness for a particular
    purpose see the gnu general public license for more details you
    should have received a copy of the gnu general public license along
    with this program if not write to the free software foundation inc
    59 temple place suite 330 boston ma 02111 1307 usa

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 1334 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Reviewed-by: Richard Fontana
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070033.113240726@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     
  • Based on 1 normalized pattern(s):

    this program is free software you can redistribute it and or modify
    it under the terms of the gnu general public license as published by
    the free software foundation either version 2 of the license or at
    your option any later version

    extracted by the scancode license scanner the SPDX license identifier

    GPL-2.0-or-later

    has been chosen to replace the boilerplate/reference in 3029 file(s).

    Signed-off-by: Thomas Gleixner
    Reviewed-by: Allison Randal
    Cc: linux-spdx@vger.kernel.org
    Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
    Signed-off-by: Greg Kroah-Hartman

    Thomas Gleixner
     

25 May, 2019

1 commit

  • BUG: memory leak
    unreferenced object 0xffff8881df48cda0 (size 16):
    comm "syz-executor.0", pid 5077, jiffies 4295994670 (age 22.280s)
    hex dump (first 16 bytes):
    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    backtrace:
    [] parport_register_dev_model+0x141/0x6e0 [parport]
    [] 0xffffffffc15d1196
    [] platform_drv_probe+0x7e/0x100
    [] really_probe+0x342/0x4d0
    [] driver_probe_device+0x8c/0x170
    [] __device_attach_driver+0xda/0x100
    [] bus_for_each_drv+0xfe/0x170
    [] __device_attach+0x190/0x230
    [] bus_probe_device+0x123/0x140
    [] device_add+0x7cc/0xce0
    [] platform_device_add+0x230/0x3c0
    [] 0xffffffffc15d0949
    [] port_check+0x3b/0x50 [parport]
    [] bus_for_each_dev+0x115/0x180
    [] __parport_register_driver+0x1f0/0x210 [parport]
    [] 0xffffffffc15d803e

    After commit 4e5a74f1db8d ("parport: Revert "parport: fix
    memory leak""), free_pardevice do not free par_dev->state,
    we should free it in error path of parport_register_dev_model
    before return.

    Reported-by: Hulk Robot
    Fixes: 4e5a74f1db8d ("parport: Revert "parport: fix memory leak"")
    Signed-off-by: YueHaibing
    Signed-off-by: Greg Kroah-Hartman

    YueHaibing
     

21 May, 2019

2 commits


09 May, 2019

1 commit

  • Pull DMA mapping updates from Christoph Hellwig:

    - remove the already broken support for NULL dev arguments to the DMA
    API calls

    - Kconfig tidyups

    * tag 'dma-mapping-5.2' of git://git.infradead.org/users/hch/dma-mapping:
    dma-mapping: add a Kconfig symbol to indicate arch_dma_prep_coherent presence
    dma-mapping: remove an unnecessary NULL check
    x86/dma: Remove the x86_dma_fallback_dev hack
    dma-mapping: remove leftover NULL device support
    arm: use a dummy struct device for ISA DMA use of the DMA API
    pxa3xx-gcu: pass struct device to dma_mmap_coherent
    gbefb: switch to managed version of the DMA allocator
    da8xx-fb: pass struct device to DMA API functions
    parport_ip32: pass struct device to DMA API functions
    dma: select GENERIC_ALLOCATOR for DMA_REMAP

    Linus Torvalds
     

26 Apr, 2019

1 commit

  • In preparation to enabling -Wimplicit-fallthrough, mark switch
    cases where we are expecting to fall through.

    This patch fixes the following warning:

    drivers/parport/ieee1284.c: In function ‘parport_read’:
    drivers/parport/ieee1284.c:722:6: warning: this statement may fall through [-Wimplicit-fallthrough=]
    if (parport_negotiate (port, IEEE1284_MODE_NIBBLE)) {
    ^
    drivers/parport/ieee1284.c:726:2: note: here
    case IEEE1284_MODE_NIBBLE:
    ^~~~

    Warning level 3 was used: -Wimplicit-fallthrough=3

    Notice that, in this particular case, the code comment is modified
    in accordance with what GCC is expecting to find.

    This patch is part of the ongoing efforts to enable
    -Wimplicit-fallthrough.

    Signed-off-by: Gustavo A. R. Silva
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Gustavo A. R. Silva
     

08 Apr, 2019

1 commit


01 Apr, 2019

1 commit


28 Mar, 2019

1 commit


26 Mar, 2019

1 commit

  • This reverts commit 1aec4211204d9463d1fd209eb50453de16254599.

    Steven Rostedt reports that it causes a hang at bootup and bisected it
    to this commit.

    The troigger is apparently a module alias for "parport_lowlevel" that
    points to "parport_pc", which causes a hang with

    modprobe -q -- parport_lowlevel

    blocking forever with a backtrace like this:

    wait_for_completion_killable+0x1c/0x28
    call_usermodehelper_exec+0xa7/0x108
    __request_module+0x351/0x3d8
    get_lowlevel_driver+0x28/0x41 [parport]
    __parport_register_driver+0x39/0x1f4 [parport]
    daisy_drv_init+0x31/0x4f [parport]
    parport_bus_init+0x5d/0x7b [parport]
    parport_default_proc_register+0x26/0x1000 [parport]
    do_one_initcall+0xc2/0x1e0
    do_init_module+0x50/0x1d4
    load_module+0x1c2e/0x21b3
    sys_init_module+0xef/0x117

    Supid says:
    "Due to the new device model daisy driver will now try to find the
    parallel ports while trying to register its driver so that it can bind
    with them. Now, since daisy driver is loaded while parport bus is
    initialising the list of parport is still empty and it tries to load
    the lowlevel driver, which has an alias set to parport_pc, now causes
    a deadlock"

    But I don't think the daisy driver should be loaded by the parport
    initialization in the first place, so let's revert the whole change.

    If the daisy driver can just initialize separately on its own (like a
    driver should), instead of hooking into the parport init sequence
    directly, this issue probably would go away.

    Reported-and-bisected-by: Steven Rostedt (VMware)
    Reported-by: Michal Kubecek
    Acked-by: Greg Kroah-Hartman
    Cc: Sudip Mukherjee
    Signed-off-by: Linus Torvalds

    Linus Torvalds
     

14 Feb, 2019

1 commit


11 Feb, 2019

1 commit

  • In the original code before 181bf1e815a2 the loop was continuing until
    it finds the first matching superios[i].io and p->base.
    But after 181bf1e815a2 the logic changed and the loop now returns the
    pointer to the first mismatched array element which is then used in
    get_superio_dma() and get_superio_irq() and thus returning the wrong
    value.
    Fix the condition so that it now returns the correct pointer.

    Fixes: 181bf1e815a2 ("parport_pc: clean up the modified while loops using for")
    Cc: Alan Cox
    Cc: stable@vger.kernel.org
    Signed-off-by: QiaoChong
    [rewrite the commit message]
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    QiaoChong
     

27 Nov, 2018

1 commit


19 Aug, 2018

1 commit

  • Pull char/misc driver updates from Greg KH:
    "Here is the bit set of char/misc drivers for 4.19-rc1

    There is a lot here, much more than normal, seems like everyone is
    writing new driver subsystems these days... Anyway, major things here
    are:

    - new FSI driver subsystem, yet-another-powerpc low-level hardware
    bus

    - gnss, finally an in-kernel GPS subsystem to try to tame all of the
    crazy out-of-tree drivers that have been floating around for years,
    combined with some really hacky userspace implementations. This is
    only for GNSS receivers, but you have to start somewhere, and this
    is great to see.

    Other than that, there are new slimbus drivers, new coresight drivers,
    new fpga drivers, and loads of DT bindings for all of these and
    existing drivers.

    All of these have been in linux-next for a while with no reported
    issues"

    * tag 'char-misc-4.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (255 commits)
    android: binder: Rate-limit debug and userspace triggered err msgs
    fsi: sbefifo: Bump max command length
    fsi: scom: Fix NULL dereference
    misc: mic: SCIF Fix scif_get_new_port() error handling
    misc: cxl: changed asterisk position
    genwqe: card_base: Use true and false for boolean values
    misc: eeprom: assignment outside the if statement
    uio: potential double frees if __uio_register_device() fails
    eeprom: idt_89hpesx: clean up an error pointer vs NULL inconsistency
    misc: ti-st: Fix memory leak in the error path of probe()
    android: binder: Show extra_buffers_size in trace
    firmware: vpd: Fix section enabled flag on vpd_section_destroy
    platform: goldfish: Retire pdev_bus
    goldfish: Use dedicated macros instead of manual bit shifting
    goldfish: Add missing includes to goldfish.h
    mux: adgs1408: new driver for Analog Devices ADGS1408/1409 mux
    dt-bindings: mux: add adi,adgs1408
    Drivers: hv: vmbus: Cleanup synic memory free path
    Drivers: hv: vmbus: Remove use of slow_virt_to_phys()
    Drivers: hv: vmbus: Reset the channel callback in vmbus_onoffer_rescind()
    ...

    Linus Torvalds
     

15 Jul, 2018

2 commits


07 Jul, 2018

1 commit

  • The WCH CH382L PCIe adapter has 1 parallel port but unlike the similar
    WCH CH328 adapter there are no serial ports connected to it. Enable
    this adapter with the addition of the appropriate PCIe IDs and board
    support config.

    PCIe device ID 1c00:3050:

    02:00.0 Serial controller: Device 1c00:3050 (rev 10) (prog-if 05 [16850])
    Subsystem: Device 1c00:3050
    Flags: fast devsel, IRQ 16
    I/O ports at 2000 [size=256]
    Memory at d0000000 (32-bit, prefetchable) [size=32K]
    I/O ports at 2100 [size=4]
    Expansion ROM at b0200000 [disabled] [size=32K]
    Capabilities: [60] Power Management version 3
    Capabilities: [68] MSI: Enable- Count=1/32 Maskable+ 64bit+
    Capabilities: [80] Express Legacy Endpoint, MSI 00
    Capabilities: [100] Advanced Error Reporting
    Kernel driver in use: parport_pc
    Kernel modules: parport_pc, parport_serial

    Signed-off-by: Colin Ian King
    Signed-off-by: Greg Kroah-Hartman

    Colin Ian King
     

16 Jun, 2018

1 commit

  • As we move stuff around, some doc references are broken. Fix some of
    them via this script:
    ./scripts/documentation-file-ref-check --fix

    Manually checked if the produced result is valid, removing a few
    false-positives.

    Acked-by: Takashi Iwai
    Acked-by: Masami Hiramatsu
    Acked-by: Stephen Boyd
    Acked-by: Charles Keepax
    Acked-by: Mathieu Poirier
    Reviewed-by: Coly Li
    Signed-off-by: Mauro Carvalho Chehab
    Acked-by: Jonathan Corbet

    Mauro Carvalho Chehab
     

05 Apr, 2018

2 commits

  • Pull char/misc updates from Greg KH:
    "Here is the big set of char/misc driver patches for 4.17-rc1.

    There are a lot of little things in here, nothing huge, but all
    important to the different hardware types involved:

    - thunderbolt driver updates

    - parport updates (people still care...)

    - nvmem driver updates

    - mei updates (as always)

    - hwtracing driver updates

    - hyperv driver updates

    - extcon driver updates

    - ... and a handful of even smaller driver subsystem and individual
    driver updates

    All of these have been in linux-next with no reported issues"

    * tag 'char-misc-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (149 commits)
    hwtracing: Add HW tracing support menu
    intel_th: Add ACPI glue layer
    intel_th: Allow forcing host mode through drvdata
    intel_th: Pick up irq number from resources
    intel_th: Don't touch switch routing in host mode
    intel_th: Use correct method of finding hub
    intel_th: Add SPDX GPL-2.0 header to replace GPLv2 boilerplate
    stm class: Make dummy's master/channel ranges configurable
    stm class: Add SPDX GPL-2.0 header to replace GPLv2 boilerplate
    MAINTAINERS: Bestow upon myself the care for drivers/hwtracing
    hv: add SPDX license id to Kconfig
    hv: add SPDX license to trace
    Drivers: hv: vmbus: do not mark HV_PCIE as perf_device
    Drivers: hv: vmbus: respect what we get from hv_get_synint_state()
    /dev/mem: Avoid overwriting "err" in read_mem()
    eeprom: at24: use SPDX identifier instead of GPL boiler-plate
    eeprom: at24: simplify the i2c functionality checking
    eeprom: at24: fix a line break
    eeprom: at24: tweak newlines
    eeprom: at24: refactor at24_probe()
    ...

    Linus Torvalds
     
  • Pull tty/serial driver updates from Greg KH:
    "Here is the big set of tty and serial driver patches for 4.17-rc1

    Not all that big really, most are just small fixes and additions to
    existing drivers. There's a bunch of work on the imx serial driver
    recently for some reason, and a new embedded serial driver added as
    well.

    Full details are in the shortlog.

    All of these have been in the linux-next tree for a while with no
    reported issues"

    * tag 'tty-4.17-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (66 commits)
    serial: expose buf_overrun count through proc interface
    serial: mvebu-uart: fix tx lost characters
    tty: serial: msm_geni_serial: Fix return value check in qcom_geni_serial_probe()
    tty: serial: msm_geni_serial: Add serial driver support for GENI based QUP
    8250-men-mcb: add support for 16z025 and 16z057
    powerpc: Mark the variable earlycon_acpi_spcr_enable maybe_unused
    serial: stm32: fix initialization of RS485 mode
    ARM: dts: STi: Remove "console=ttyASN" from bootargs for STi boards
    vt: change SGR 21 to follow the standards
    serdev: Fix typo in serdev_device_alloc
    ARM: dts: STi: Fix aliases property name for STi boards
    tty: st-asc: Update tty alias
    serial: stm32: add support for RS485 hardware control mode
    dt-bindings: serial: stm32: add RS485 optional properties
    selftests: add devpts selftests
    devpts: comment devpts_mntget()
    devpts: resolve devpts bind-mounts
    devpts: hoist out check for DEVPTS_SUPER_MAGIC
    serial: 8250: Add Nuvoton NPCM UART
    serial: mxs-auart: disable clks of Alphascale ASM9260
    ...

    Linus Torvalds
     

28 Mar, 2018

1 commit


15 Mar, 2018

9 commits

  • No functional changes involved.

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • While here, remove init.h inclusion since we are not using it directly and
    module.h will do this for us.

    No functional changes intended.

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • Eliminate some boilerplate code by using module_pci_driver() instead of
    init/exit, moving the salient bits from init into probe.

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • dev_warn() will print device name with associated driver,
    no need to keep this open coded.

    While here, adjust indentation in the rest of dev_dbg() calls.

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • When ->probe() calls helper functions return theirs error codes
    instead of shadowing them.

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • This makes the error handling much more simpler than open-coding everything
    and in addition makes the probe function smaller an tidier.

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • There is no need to repeat the work that is already done in the PCI
    driver core. The patch removes excerpts from suspend and resume
    callbacks.

    Note that there is no more calls performed to enable or disable a PCI
    device during suspend-resume cycle. Nowadays they seems to be
    superflous. Someone can read more in [1].

    While here, convert calls to new driver API.

    [1] https://www.kernel.org/doc/ols/2009/ols2009-pages-319-330.pdf

    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • This adds support for BrainBoxes Multi I/O cards (4+1 serial + 1 parallel port):

    02:00.0 0702: 135a:4100 (rev 02)
    Subsystem: 135a:0443
    Flags: fast devsel, IRQ 18
    Memory at f7d02000 (32-bit, non-prefetchable) [size=128]
    I/O ports at e000 [size=128]
    I/O ports at e080 [size=64]
    I/O ports at e0c0 [size=16]
    Memory at f7d01000 (32-bit, non-prefetchable) [size=128]
    Memory at f7d00000 (32-bit, non-prefetchable) [size=128]
    Capabilities: [50] MSI: Enable- Count=1/4 Maskable- 64bit+
    Capabilities: [78] Power Management version 3
    Capabilities: [80] Express Legacy Endpoint, MSI 01
    Capabilities: [100] Virtual Channel
    Capabilities: [800] Advanced Error Reporting

    Reported-by: Nikola Ciprich
    Tested-by: Nikola Ciprich
    Signed-off-by: Andy Shevchenko
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Andy Shevchenko
     
  • The local variable "pp" will eventually be set to an appropriate pointer
    a bit later. Thus omit the explicit initialisation at the beginning.

    Signed-off-by: Markus Elfring
    Signed-off-by: Sudip Mukherjee
    Signed-off-by: Greg Kroah-Hartman

    Markus Elfring