The cursor code tries to treat base==0 to mean disabled. That fails
when the cursor bo gets bound at ggtt offset 0, and the user is left
looking at an invisible cursor.
We lose the disabled->disabled optimization, but that seems like
something better handled at a slightly higher level.
Cc: drm-intel-fixes@lists.freedesktop.org
Cc: Takashi Iwai <tiwai@suse.de>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1450091808-32607-3-git-send-email-ville.syrjala@linux.intel.com
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
(cherry picked from commit 663f3122d0)
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Like the previous designs, the A80 has a special pin controller for the
critical pins, like the PMIC bus.
Add a driver for this controller.
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
[wens: Add A80 compatible strings to bindings doc; fix pin function
names based on v1.3 datasheet; constify of_device_id table]
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
Acked-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Performing a read operation on the IRQ Status register will clear the
IRQ latch. Since a read operation on the IRQ Status register must be
performed in the IRQ handler in order to determine if the IRQ was in
fact generated by the device, the IRQ latch is consequently cleared by
the IRQ handler. A spinlock is used to guarantee that each IRQ is
serviced in the order it was received.
Signed-off-by: William Breathitt Gray <vilhelm.gray@gmail.com>
The commit "gpio: pxa: change the interrupt management" should have
taken care of moving an ifdef to not englobe irqdomain related
structures anymore, as they are used now for all builds.
This repairs the broken builds where CONFIG_OF=n.
Signed-off-by: Robert Jarzmik <robert.jarzmik@free.fr>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Without this patch, internal speaker and line-out work,
but front headphone output jack stays silent on the
Mac Pro 4,1.
This code path also gets executed on the MacPro 5,1 due
to identical codec SSID, but i don't know if it has any
positive or adverse effects there or not.
(v2) Implement feedback from Takashi Iwai: Reuse
alc889_fixup_mbp_vref and just add a new nid
0x19 for the MacPro 4,1.
Signed-off-by: Mario Kleiner <mario.kleiner.de@gmail.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
I've decided to just send this fixes-for-next pull request now, even if
we don't have a patch for the CONFIG_PM_SLEEP build failure reviewed.
If you like my patch for that, I'd be happy to see it applied directly.
This pull request brings in little fixes from Dan Carpenter for the 3D
support added in this -next cycle.
* tag 'drm-vc4-next-2015-12-21' of http://github.com/anholt/linux:
drm/vc4: fix an error code
drm/vc4: allocate enough memory in vc4_save_hang_state()
drm/vc4: copy_to_user() returns the number of bytes remaining
Since commit 1c6c69525b ("genirq: Reject bogus threaded irq requests")
threaded IRQs without a primary handler need to be requested with
IRQF_ONESHOT, otherwise the request will fail.
So pass the IRQF_ONESHOT flag in this case.
Generated by: scripts/coccinelle/misc/irqf_oneshot.cocci
Signed-off-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Valentin Rothberg <valentinrothberg@gmail.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
1. Enable Maxim 8997 and 77693 family drivers (charger, extcon, LED,
RTC, haptic/motor, regulator).
2. Build ChromeOS EC drivers as modules on multi_v7.
3. Enable drivers important for Exynos4210-based Universal C210 board.
4. Enable NFSv4 client.
5. On exynos_defconfig set some options to a value recommended
by systemd. This also makes it more consistent with multi_v7.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWXkcyAAoJEME3ZuaGi4PXktAP/A+KSG03XL7ltm0o0qlSUIbv
sag2traI0icbyur/8T4DqBe9m5Gq/4ouG0sBOoB4r7cs80zjzxtsr7VO61YGZHSo
pAIPn020K4y9uBm6uBs+mIbshoC5g7BxJB9/sYy28tDz9iK5DNPMu1d8Q08YLNT8
xfIfyLz4mP1wH/WvWhKpV5fnTX4DJr4wbixdH4jEAsz6ity4sWDLuLus/dibkdFU
4jIa4Fr40o+T463svIagGd5+eUv5SjOEzXfhfYty1CQIRbdqnLkasIIkTdBcn6RO
hMyvw1DJ5QBxD61I2hE1L66OmphdH0clTreER7H9/tfTP4YftIhUlUP0pjAq5Nle
ckD2RsvMz364WZ+iwsqUXu8EbM8HLRAzO7VHOd2pi+zlpWGtc67l5v/QqCi4oSZX
Lnlep17YaMit9ufeJSaf7aO5PRmGDSKX2lSSlWQ0VM7WVFRuHLVXxGSq2itIsH6P
+7OGHwbEH7wyhf11XsYAh+goTvLWtQlGeeJaVyq4NrG6oHvzc2HEWN1Gezvwx0HB
Tj7thncWBEy8rkC1DCU6qxnC0FZiWAufcU90onjBYunjEEU6cCPMTPj1GG1Vb1fQ
73rkYJYnp7z8W39wSdcAafpqy+EZgOlWRk6mv32/txjnGBlOWkUpiLERTEhS0eUH
xiEYg17LeNYcqMuDYnpX
=ANuN
-----END PGP SIGNATURE-----
Merge tag 'samsung-defconfig-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/defconfig
Defconfig (exynos and multi_v7) changes for Exynos based boards for 4.5:
1. Enable Maxim 8997 and 77693 family drivers (charger, extcon, LED,
RTC, haptic/motor, regulator).
2. Build ChromeOS EC drivers as modules on multi_v7.
3. Enable drivers important for Exynos4210-based Universal C210 board.
4. Enable NFSv4 client.
5. On exynos_defconfig set some options to a value recommended
by systemd. This also makes it more consistent with multi_v7.
* tag 'samsung-defconfig-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: exynos_defconfig: Set recommended options for systemd
ARM: exynos_defconfig: Enable NFSv4 client
ARM: exynos_defconfig: Add drivers for Exynos4210 Universal C210 board
ARM: multi_v7_defconfig: Build ChromeOS EC drivers as modules
ARM: multi_v7_defconfig: Enable Maxim 77693 LED and haptic drivers
ARM: multi_v7_defconfig: Enable Maxim 8997 family drivers
ARM: exynos_defconfig: Enable Maxim 77693 LED and haptic drivers
ARM: exynos_defconfig: Enable Maxim 8997 family drivers
Signed-off-by: Olof Johansson <olof@lixom.net>
1. Switch from Exynos-specific restart/poweroff handler
(mach-exynos/pmu.c) to generic syscon-reboot and syscon-poweroff
drivers.
This depends on adding syscon nodes to DTS to preserve
bisectability.
2. Minor improvements.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWXj9IAAoJEME3ZuaGi4PXgzcP/jjZSZaYFk31/PTtdpOlV0je
kOAAZByLdStEr1rxY89o/YtznaqYowbFrElJPVwHr4W9y0UyP+FjIWFCBNh7vn29
cVRlJUAg99dVP8cohrgbc1Gd6943CeR/0S3EPYAOK6SffRuoDNWvgtGg4Y9mV/7Z
3g1FeuCIxaKisCWFmRYNw3cjnekLgeL1AC+N6IjPiX1iy2Wnx58zTeFPL0cAhpHY
YjG4S6hVzaWFt969hR7cqhuG6a05wmSWTDKVk4PBuCkZpoX/k2lRwy0saT6WFzjc
8MoNVgqGTqlgeYXDIQcR3upmS2NSp2IPXxjcT9I7qP8gnHX1fgb9hdYWdj9+uaKh
7uF4JM2xlGXeMja9t1TcIBCMTc9rKPd0dxPHm4MnIYgC9BxGi5iBkvoGEH5zxoeg
P0pAeIxkk11q+d59b2AMZF4EMUkuZh6iLZPrwUh5JWs0rdo+sh+wdDiQ0GYdvtev
eW51mfWIuhFfwRCafYM9KL+GAf+fn+vKecYe7KFmNbLhXYSUMtmiffXVjFFhuFy7
mW8iOEPfrxP2sqAsuElrl5c82klxvXJgLQ51hCthHeugrP/tJsYyLffIcLMhlFZL
t8yKIeTnjytfiE8OsrHMUiDNd62bmiRyAU7vl9twlQLYU1LcYJ+tITq+mrxFfAY0
DpUn13WehOA7qSYWy9zm
=JWjG
-----END PGP SIGNATURE-----
Merge tag 'samsung-soc-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/soc
Samsung Exynos improvements for 4.5:
1. Switch from Exynos-specific restart/poweroff handler
(mach-exynos/pmu.c) to generic syscon-reboot and syscon-poweroff
drivers.
This depends on adding syscon nodes to DTS to preserve
bisectability.
2. Minor improvements.
* tag 'samsung-soc-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: EXYNOS: Remove redundant code from regs-pmu.h
ARM: EXYNOS: Constify local exynos_pmu_data structure
ARM: EXYNOS: Switch to syscon reboot and poweroff
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos5410
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos5
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos4
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos3250
Signed-off-by: Olof Johansson <olof@lixom.net>
handlers on Exynos boards. The mach-exynos changes must base on top
of this to retain the bisectability of not loosing reboot/poweroff
features.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
iQIcBAABAgAGBQJWTsTCAAoJEME3ZuaGi4PXFh0P/0nbYXs89Y9guNwDJwlXKrlo
kfgbZWmsrvbyMp0mTxwF9u2YwEKWycVrgBG5AnT4xaumF+cJoDSGSPb9mRDhNEfl
9yOb6c+18TyWa7Kwu4Zya2RzOWEMMHorZgcwBBbPqw4pIMF/Oj92Dnl7OuZ19D5m
DItDAPasw/Q8Kx3N5kksobvOzYbiGT3otG7wnL8xEL13ovTnSx3qB0rkDS4LVYRP
xLQI8jYzj377B3T0iob0XhbT25CjsGT6B6IwLbrPHG3wkaBMLDlvWyAHtnGFHKX6
2qSLce8qAJhTCoYqPcBWX4UzddMAY0r0l2AFTmfTQjyLZKGhmex3OvwTZEl/amO4
t8QE7FrUiGDBzrMQaTPre9xhKyoNeeeSS+OAa3NJT/kpTi70kqC9Vig32xQ7J2PD
42AuMwHxgUqtDJ2135is0bkutXXfnRTtotICaKPd9j9HNrgwRQ+ffg+jgyuOJmiC
wsQCCSDhJQ3H3bH/1o8aQmAVvHXyniE5FY+1hFHUhPRmvenceAjLKX2tIc8Wqasu
W1FKJAYalM4TdXcgmQy56EnXEK+VbIVhNmvnnNUp8+CfpTWS9bMwrH/TlbpDwTkK
pSC8A6Dols0HgaKzdLbWM0L03mYuWvZ/JO6wW1Y11chPYw234+ph7ez4MBrHLTTF
QTOPTffhLOcGVBLuFPoi
=/NF/
-----END PGP SIGNATURE-----
Merge tag 'samsung-dt-syscon-restart-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/dt
Device Tree changes adding necessary nodes for syscon reboot/poweroff
handlers on Exynos boards. The mach-exynos changes must base on top
of this to retain the bisectability of not loosing reboot/poweroff
features.
* tag 'samsung-dt-syscon-restart-4.5' of https://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux:
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos5410
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos5
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos4
ARM: dts: Add syscon-{reboot, poweroff} nodes for exynos3250
Signed-off-by: Olof Johansson <olof@lixom.net>
This is the first ARMv8 SoC from Socionext Inc.
Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Signed-off-by: Olof Johansson <olof@lixom.net>
This patch adds support for several power domains on Raspberry Pi,
including USB (so it can be enabled even if the bootloader didn't do
it), and graphics.
This patch is the combined work of Eric Anholt (who wrote USB support
inside of the Raspberry Pi firmware driver, and wrote the non-USB
domain support) and Alexander Aring (who separated the original USB
work out from the firmware driver).
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
This patch adds devicetree tree bindings for the Raspberry Pi power
domain driver.
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Signed-off-by: Eric Anholt <eric@anholt.net>
Acked-by: Rob Herring <robh@kernel.org>
Reviewed-by: Ulf Hansson <ulf.hansson@linaro.org>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
These packets give us direct access to the firmware's power management
code, as opposed to GET/SET_POWER_STATE packets that only had a couple
of domains implemented.
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Kevin Hilman <khilman@linaro.org>
The OPTIMAL TRANSFER LENGTH reported by scsi_debug is 64 blocks which
translates to 32KB with the default logical block size. That's much
lower than what real storage devices typically report (256KB to 1MB).
Bump the optimal transfer length to 1024 blocks.
Acked-by: Douglas Gilbert <dgilbert@interlog.com>
Reviewed-by: Ewan Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Update version to 11.0.0.10 for upstream patch set
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This patch is to the lpfc_els.c which resolves following warning
reported by coccicheck:
WARNING: kzalloc should be used for rdp_context, instead of
kmalloc/memset
Signed-off-by: Punit Vara <punitvara@gmail.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Reviewed-by: Matthew R. Ochs <mrochs@linux.vnet.ibm.com>
Reviewed-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
The mempool_destroy() function tests whether its argument is NULL
and then returns immediately. Thus the test around the calls is not needed.
This issue was detected by using the Coccinelle software.
Signed-off-by: Markus Elfring <elfring@users.sourceforge.net>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Reviewed-by: Sebastian Herbszt <herbszt@gmx.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Add logging for misconfigured optics acqe reported by fw.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix external loopback failure.
Rx sequence reassembly was incorrect.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix mbox reuse in PLOGI completion. Moved allocations so that buffer
properly init'd.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Use new FDMI speed definitions for 10G, 25G and 40G FCoE.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Make write check error processing more resilient.
Checks to catch writes that fw reports weren't fully complete yet SCSI
status indicated fine needed correction.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix RDP ACC being too long.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix RDP Speed reporting.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Modularize, cleanup, add comments - for FDMI code in driver
Note: I don't like the comments with leading # - but as we have a lot if
present, I'm deferring to handle it in one big fix later.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix crash in fcp command completion path.
Missed null check.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix driver crash when module parameter lpfc_fcp_io_channel set to 16
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix RegLogin failed error seen on Lancer FC during port bounce
Fix the statemachine and ref counting.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix the FLOGI discovery logic to comply with T11 standards
We weren't properly setting fabric parameters, such as R_A_TOV and E_D_TOV,
when we registered the vfi object in default configs and pt2pt configs.
Revise to now pass service params with the values to the firmware and
ensure they are reset on link bounce. Required reworking the call sequence
in the discovery threads.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Fix FCF Infinite loop in lpfc_sli4_fcf_rr_next_index_get.
Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com>
Signed-off-by: James Smart <james.smart@avagotech.com>
Reviewed-by: Hannes Reinicke <hare@suse.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Eryu Guan reported that loading scsi_debug would fail. This turned out
to be caused by scsi_debug reporting an optimal I/O size of 32KB which
is smaller than the 64KB page size on the PowerPC system in question.
Add a check to ensure that we only use the device-reported OPTIMAL
TRANSFER LENGTH if it is bigger than or equal to the page cache size.
Reported-by: Eryu Guan <guaneryu@gmail.com>
Reported-by: Ming Lei <tom.leiming@gmail.com>
Reviewed-by: Douglas Gilbert <dgilbert@interlog.com>
Reviewed-by: Ewan Milne <emilne@redhat.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
ARCH_SHMOBILE is coming to arm64, which creates new warnings in allmodconfig:
drivers/staging/emxx_udc/emxx_udc.c: In function '_nbu2ss_out_dma':
drivers/staging/emxx_udc/emxx_udc.c:843:45: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
_nbu2ss_writel(&preg->EP_DCR[num].EP_TADR, (u32)pBuffer);
This is clearly a mistake from confusing a dma_addr_t with a pointer,
so the fix is to use the correct types in two places.
The third warning of this kind is a check for an unaligned pointer,
which should be done by casting the pointer to uintptr_t, not int.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
When _OSC fails and especially when it fails due to an invalid UUID,
it's helpful to show the UUID that we tried.
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
The whitespace in _OSC error reports is weird. Improve it.
Acked-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: Andy Lutomirski <luto@kernel.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This patch makes plx9080.h use kernel types.
Signed-off-by: Moritz König <moritz.koenig@fau.de>
Signed-off-by: Fabian Lang <fabian.lang@fau.de>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Acked-by: Moritz Fischer <moritz.fischer@ettus.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch adds spaces around binary operators in plx9080.h.
Signed-off-by: Moritz König <moritz.koenig@fau.de>
Signed-off-by: Fabian Lang <fabian.lang@fau.de>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch fixes the format of comments in plx9080.h.
Signed-off-by: Moritz König <moritz.koenig@fau.de>
Signed-off-by: Fabian Lang <fabian.lang@fau.de>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This patch is to comedilib.h file that fixes up following warnings
reported by checkpatch.pl :
I) Block comments use * on subsequent lines.
Apart from it I have remove header file path by base file name as
suggested by community.
Signed-off-by: Jitendra Kumar Khasdev <jkhasdev@gmail.com>
Reviewed-by: Ian Abbott <abbotti@mev.co.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The driver writes a couple of literal values to the counter
control/status register, 0x8000 to reset the counter, and 0x4000 to load
the counter from preload register 0. Add a bunch of macros to define
these values and other values for the register, based on the Sensoray
526 manual.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The driver uses `struct counter_mode_register_t` to describe the 16-bit
counter mode register as a sequence of bitfield members. The struct
appears as the type of one of the members of `union cmReg`, the other
member of which is of type `unsigned short`, so the driver can
manipulate the register value as a whole, or as individual fields.
Although this is fairly convenient, it's not that conventional. The
code also needs to define the bitfield members in ascending or
descending order of the physical bits, depending on whether bitfields
are little- or big-endian.
Rip all that out and replace it with a bunch of macros to set and mask
out bits of the register value, as that's the more conventional way to
do it. A bonus is that we get rid of a load of CamelCase definitions in
the process.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
If the "write" file operation handler, `comedi_write()` is passed 0 for
the amount to write, some error conditions are currently skipped and the
function just returns 0. Change it to check those error conditions and
return an error value if appropriate. The trickiest case is the check
for when the previously set up asynchronous command has terminated with
an error. In that case, `-EPIPE` is returned (as it is for a write of
non-zero length) and the subdevice gets marked as non-busy.
A zero-length write that returns 0 has no other effects, in particular,
it does not cause the subdevice to be marked as non-busy.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
In order to perform a "write" file operation, an asynchronous COMEDI
command in the "write" direction needs to have been set up by the
current file object on the COMEDI "write" subdevice associated with the
file object. If there is a "write" subdevice, but a command has not
been set up by the file object (or is has been set-up in the wrong
direction), `comedi_write()` currently returns one of two error values
`-EINVAL` or `-EACCES`. `-EACCES` is returned if the command was set up
by a different subdevice, or somewhat randomly, if a COMEDI
"instruction" is currently being processed. `-EINVAL` is returned in
other cases. Simplify it by returning `-EINVAL` for all these cases.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
The "write" file operation handler, `comedi_write()` returns an error
for pretty much any condition that prevents a "write" going ahead. One
of the conditions that prevents a "write" going ahead is that no
asynchronous command has been set up, but that currently results in a
return value of 0 (unless COMEDI instructions are being processed or an
asynchronous command has been set up by a different file object).
Change it to return `-EINVAL` in this case.
Signed-off-by: Ian Abbott <abbotti@mev.co.uk>
Reviewed-by: H Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>