summaryrefslogtreecommitdiff
path: root/linux/drivers/media/video
AgeCommit message (Collapse)Author
2009-08-06merge: http://www.kernellabs.com/hg/~dheitmueller/geniatech_x8000Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-06merge: http://kernellabs.com/hg/~mkrufky/hvr11x0Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-06soc-camera: fix recursive locking in .buf_queue()Guennadi Liakhovetski
From: Guennadi Liakhovetski <g.liakhovetski@gmx.de> The .buf_queue() V4L2 driver method is called under spinlock_irqsave(q->irqlock,...), don't take the lock again inside the function. Reported-by: Antonio Ospite <ospite@studenti.unina.it> Signed-off-by: Guennadi Liakhovetski <g.liakhovetski@gmx.de> --- drivers/media/video/mx1_camera.c | 6 +----- drivers/media/video/mx3_camera.c | 19 ++++++++++--------- drivers/media/video/pxa_camera.c | 6 +----- drivers/media/video/sh_mobile_ceu_camera.c | 5 +---- 4 files changed, 13 insertions(+), 23 deletions(-)
2009-08-05media/zr364xx: fix build errorsMauro Carvalho Chehab
From: Randy Dunlap <randy.dunlap@oracle.com> Fix build errors in zr364xx by adding selects: zr364xx.c:(.text+0x195ed7): undefined reference to `videobuf_streamon' zr364xx.c:(.text+0x196030): undefined reference to `videobuf_dqbuf' zr364xx.c:(.text+0x1960c4): undefined reference to `videobuf_qbuf' zr364xx.c:(.text+0x196123): undefined reference to `videobuf_querybuf' zr364xx.c:(.text+0x196182): undefined reference to `videobuf_reqbufs' zr364xx.c:(.text+0x196224): undefined reference to `videobuf_queue_is_busy' zr364xx.c:(.text+0x196390): undefined reference to `videobuf_vmalloc_free' zr364xx.c:(.text+0x196571): undefined reference to `videobuf_iolock' zr364xx.c:(.text+0x196678): undefined reference to `videobuf_mmap_mapper' zr364xx.c:(.text+0x196760): undefined reference to `videobuf_poll_stream' zr364xx.c:(.text+0x19689a): undefined reference to `videobuf_read_one' zr364xx.c:(.text+0x1969ec): undefined reference to `videobuf_mmap_free' zr364xx.c:(.text+0x197862): undefined reference to `videobuf_queue_vmalloc_init' zr364xx.c:(.text+0x197a28): undefined reference to `videobuf_streamoff' zr364xx.c:(.text+0x198203): undefined reference to `videobuf_to_vmalloc' zr364xx.c:(.text+0x198603): undefined reference to `videobuf_streamoff' drivers/built-in.o: In function `free_buffer': zr364xx.c:(.text+0x19930c): undefined reference to `videobuf_vmalloc_free' drivers/built-in.o: In function `zr364xx_open': zr364xx.c:(.text+0x19a7de): undefined reference to `videobuf_queue_vmalloc_init' drivers/built-in.o: In function `read_pipe_completion': zr364xx.c:(.text+0x19b17f): undefined reference to `videobuf_to_vmalloc' Priority: normal Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-05merge: http://linuxtv.org/hg/~jfrancois/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-05merge: http://linuxtv.org/hg/~pinchartl/uvcvideo/Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-05merge: v4l-dvbJean-Francois Moine
2009-08-04drivers/media/video/gspca: introduce missing kfreeMauro Carvalho Chehab
From: Julia Lawall <julia@diku.dk> Error handling code following a kmalloc should free the allocated data. Priority: normal Signed-off-by: Julia Lawall <julia@diku.dk> Acked-by: Erik Andrén <erik.andren@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-04em28xx: fix: some webcams don't have audio inputsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-04saa7134: fix the radio on Avermedia GO 007 FMMauro Carvalho Chehab
From: hermann pitton <hermann-pitton@arcor.de> We have support for radio on saa7133/35/31e cards with tda8290/8275(a) and 5.5MHz ceramic filter on the bridge chips since a while. It was previously not tested, if this card supports it too, but the old "ghost" radio with wrong filters doesn't work anymore. Thanks go to Pham Thanh Nam and Laszlo Kustan for reporting it working on that input. Priority: normal Signed-off-by: hermann pitton <hermann-pitton@arcor.de> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-04Fix incorrect type of tuner for the BeholdTV H6 cardMauro Carvalho Chehab
From: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Define correct tuner in config. Radio now works fine Priority: normal Signed-off-by: Beholder Intl. Ltd. Dmitry Belimov <d.belimov@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-10em28xx: fix: avoid having a bad colored image with webcamsMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Register 0x13 seems to be a sort of image control, maybe gamma. Lower values produce better images, while higher values increases the contrast and shifts colors to green. 0xff produces a black image. If this register is left alone, a random value can be found at the register, producing weird results. This register doesn't seem to affect tv streams. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-10em28xx: Fix artifacts with Silvercrest webcamMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Silvercrest mt9v011 sensor produces a 640x480 image. However, previously, the code were getting only half of the lines and merging two consecutive frames to "produce" a 640x480 image. With the addition of progressive mode, now em28xx is working with a full image. However, when the number of lines is bigger than 240, the beginning of some odd lines are filled with blank. After lots of testing, and physically checking the device for a Xtal, it was noticed experimentally that mt9v011 is using em28xx XCLK as its clock. Due to that, changing XCLK value changes the maximum speed of the stream. At the tests, it were possible to produce up to 32 fps, using a 30 MHz XCLK. However, at that rate, the artifacts happen even at 320x240. Lower values of XCLK produces artifacts only at 640x480. At some values of xclk (for example XCLKK = 6 MHz, 640x480), it is possible to see an invalid sucession of artifacts with this pattern: .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx .xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ..xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ...xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ....xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (where the dots represent the blanked pixels) So, it seems that a waveform in the format of a ramp is interferring at the image. The cause of this interference is currently unknown. Some possibilities are: - electrical interference (maybe this device is broken?); - some issue at mt9v011 programming; - some bug at em28xx chip. So, for now, let's be conservative and use a value of XCLK that we know for sure that it won't cause artifacts. As I'm waiting for more of such devices with different em28xx chipset revisions, I'll have the opportunity to double check the issue with other pieces of hardware. Later patches can vary XCLK depending on the vertical resolutions, if a proper fix is not discovered. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-10em28xx: Move the non-board dependent part to be outside em28xx_pre_card_setup()Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> em28xx_pre_card_setup() is meant to contain board-specific initialization. Also, as autodetection sometimes occur only after having i2c bus enabled, this function may need to be called later. Moving those setups to happen outside the function avoids calling it twice without need and without duplicating output lines at dmesg. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-09em28xx: Implement g/s_register via address matchMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-04em28xx: fix V4L2 API compliance: don't expose audio inputs for devices ↵Mauro Carvalho Chehab
without it From: Mauro Carvalho Chehab <mchehab@redhat.com> V4L2 API (chapter 1.5) states that: Drivers must implement all input ioctls when the device has one or more inputs, all output ioctls when the device has one or more outputs. When the device has any audio inputs or outputs the driver must set the V4L2_CAP_AUDIO flag in the struct v4l2_capability returned by the VIDIOC_QUERYCAP ioctl. So, devices without audio input should return -EINVAL. Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-08-03em28xx: add support for Terratec Cinergy Hybrid T USB XS remote controlDevin Heitmueller
From: Devin Heitmueller <dheitmueller@linuxtv.org> Add support for the remote control that comes with the Cinergy Hybrid T USB XS Thanks to Jelle de Jong for providing sample hardware to test with. Priority: normal Signed-off-by: Devin Heitmueller <dheitmueller@linuxtv.org> Cc: Jelle de Jong <jelledejong@powercraft.nl>
2009-08-03cx88: Disable xc3028 power management for Geniatech x8000Devin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> A user discovered that the Geniatech x8000 encountered a regression when the xc3028 power management was introduced. The xc3028 never recovers after setting the powerdown register, which is probably because the xc3028 reset GPIO is not properly configured. Since I do not have access to the hardware and thus cannot determine the correct GPIO configuration, just disable xc3028 power management on this board, which fixes the regression. Thanks to user "ritec" for reporting the issue and testing the fix. Priority: high Cc: rictec <rictec@netcabo.pt> Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-08-03cx88: fix regression in tuning for Geniatech X8000 MTDevin Heitmueller
From: Devin Heitmueller <dheitmueller@kernellabs.com> The introduction of the zl10353 i2c gate control broke support for the Geniatech board (which is not behind an i2 gate). Add the needed parameter. Priority: high Signed-off-by: Devin Heitmueller <dheitmueller@kernellabs.com>
2009-08-03saa7134: Use correct product name for Hauppauge WinTV-HVR1120 DVB-T/HybridMichael Krufky
From: Michael Krufky <mkrufky@kernellabs.com> Priority: high Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
2009-08-03saa7134: Use correct product name for Hauppauge WinTV-HVR1150 ATSC/QAM-HybridMichael Krufky
From: Michael Krufky <mkrufky@kernellabs.com> Priority: high Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
2009-08-03gspca - jeilinj: New subdriver for Jeilin chip.Jean-Francois Moine
From: Theodore Kilgore <kilgota@auburn.edu> Priority: normal Signed-off-by: Theodore Kilgore <kilgota@auburn.edu> Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-08-02gspca - vc032x: Bad h/v flip controls when inverted by default.Jean-Francois Moine
From: Jean-Francois Moine <moinejf@free.fr> Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-08-01uvcvideo: Avoid flooding the kernel log with "unknown event type" messagesLaurent Pinchart
From: Laurent Pinchart <laurent.pinchart@skynet.be> The iSight sends non-UVC status events through the interrupt endpoint. Those invalid events are reported to the kernel log, resulting in a log flood. Only log the events when the UVC_TRACE_STATUS flag is set. Priority: high Signed-off-by: Laurent Pinchart <laurent.pinchart@skynet.be>
2009-07-30hdpvr: fix lock imbalancesMauro Carvalho Chehab
From: Jiri Slaby <jirislaby@gmail.com> There are many lock imbalances in this driver. Fix all found. Priority: normal Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-29gspca - main: Remove vidioc_s_std().Jean-Francois Moine
From: Marton Nemeth <nm127@freemail.hu> The vidioc_s_std() is not necessary when vdev->tvnorms == 0. Priority: normal Signed-off-by: Marton Nemeth <nm127@freemail.hu> Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-28saa7134: fix lock imbalanceMauro Carvalho Chehab
From: Jiri Slaby <jirislaby@gmail.com> There seems to be one superfluos unlock in a poll function. Remove it. Priority: normal Signed-off-by: Jiri Slaby <jirislaby@gmail.com> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28stv680: kfree called before usb_kill_urbMauro Carvalho Chehab
From: Oliver Neukum <oliver@neukum.org> The irq handler will touch memory. Even in the error case some URBs may complete. Thus no memory must be kfreed before all URBs are killed. Priority: normal Signed-off-by: Oliver Neukum <oliver@neukum.org> Acked-by: Greg Kroah-Hartman <gregkh@suse.de> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28ir-kbd-i2c: Add support for Z8F0811/Hauppage IR transceiversMauro Carvalho Chehab
From: Andy Walls <awalls@radix.net> This patch adds support for Zilog Z8F0811 IR transceiver chips on CX2341[68] based boards to ir-kbd-i2c for both the old i2c binding model and the new i2c binding model. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net> Reviewed-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28cx18: Add i2c initialization for Z8F0811/Hauppage IR transceiversMauro Carvalho Chehab
From: Andy Walls <awalls@radix.net> This patch add support to the cx18 driver for setting up the Z8F0811/Hauppauge IR Tx/Rx chip with the i2c binding model in newer kernels. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net> Reviewed-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28ir-kbd-i2c: Allow use of ir-kdb-i2c internal get_key funcs and set ir_typeMauro Carvalho Chehab
From: Andy Walls <awalls@radix.net> This patch augments the init data passed by bridge drivers to ir-kbd-i2c, so that the ir_type can be set explicitly, and so ir-kbd-i2c internal get_key functions can be reused without requiring symbols from ir-kbd-i2c in the bridge driver. Priority: normal Signed-off-by: Andy Walls <awalls@radix.net> Reviewed-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28ir-kbd-i2c: Remove superfulous inlinesMauro Carvalho Chehab
From: Jean Delvare <khali@linux-fr.org> Functions which are referenced by their address can't be inlined by definition. Priority: normal Signed-off-by: Jean Delvare <khali@linux-fr.org> Signed-off-by: Andy Walls <awalls@radix.net> Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28ir-kbd-i2c: fix spacesMauro Carvalho Chehab
From: Douglas Schilling Landgraf <dougsland@redhat.com> Fixed checkpath warnings Priority: normal Signed-off-by: Douglas Schilling Landgraf <dougsland@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30merge: http://kernellabs.com/hg/~mkrufky/cx23885Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30merge: http://kernellabs.com/hg/~mkrufky/au0828-fixMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30merge: http://linuxtv.org/hg/~jfrancois/v4l-dvbMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30merge: http://www.kernellabs.com/hg/~stoth/hvr1300Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30merge: http://www.kernellabs.com/hg/~stoth/hvr1700Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-30em28xx: fix mutex inbalanceMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-29em28xx: fix audio VIDIOC_S_CTRL adjustments on devices without ac97Mauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> Even devices without ac97 needs to call analog audio setup function, to properly set xclk and mute/unmute. Thanks to Angelo Cano <acano@fastmail.fm> for reporting and testing it. Priority: normal Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-29em28xx: fix support for Plextor ConvertX PX-TV100UMauro Carvalho Chehab
From: Mauro Carvalho Chehab <mchehab@redhat.com> This device uses msp34xx and uses 2.048 MHz frequency for I2S communication. Thanks to Angelo Cano <acano@fastmail.fm> for pointing the issues with this device and proposing an approach for fixing the issue. Priority: normal Tested-by: Angelo Cano <acano@fastmail.fm> Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
2009-07-28gspca - main: Memorize the current alt before setting it.Jean-Francois Moine
From: Jean-Francois Moine <moinejf@free.fr> This prevents a loop if a permanent error occurs in usb_set_interface(). Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-28gspca - tv8532: Bad ISOC packet scan.Jean-Francois Moine
From: Hans de Goede <hdegoede@redhat.com> Priority: normal Signed-off-by: Hans de Goede <hdegoede@redhat.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-28gspca - sonixj: Webcam 0c45:6148 added.Jean-Francois Moine
From: Denis Loginov <dinvlad@gmail.com> Priority: normal Signed-off-by: Denis Loginov <dinvlad@gmail.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-27au0828: fix typo: dvb uses bulk xfer, dont say isoc in debugMichael Krufky
From: Michael Krufky <mkrufky@kernellabs.com> The au0828-dvb driver uses bulk usb transfers for digital transport, but the debug reports, "iso xfer already running!\n". Fix this to report bulk instead of isoc. Priority: normal Signed-off-by: Michael Krufky <mkrufky@kernellabs.com>
2009-07-27gspca - vc032x: Cleanup source.Jean-Francois Moine
From: Jean-Francois Moine <moinejf@free.fr> Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-27gspca - vc032x: H and V flip controls added for mi13x0_soc sensors.Jean-Francois Moine
From: Jean-Francois Moine <moinejf@free.fr> Also, H/V flip default values adjusted according to the webcam IDs. Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-27gspca - vc032x: Add the 1280x960 resolution for sensor mi1310_soc.Jean-Francois Moine
From: Jean-Francois Moine <moinejf@free.fr> Priority: normal Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-27gspca - vc032x: Fix mi1310_soc preview and LED.Jean-Francois Moine
From: AceLan Kao <acelan.kao@canonical.com> The patches gspca - vc032x: Add resolution 1280x1024 for sensor mi1310_soc. gspca - vc032x: Webcam 041e:405b added and mi1310_soc updated. will make the preview function not work, so I disable the 1280x1024 resolution and revert back to the origin mi1310_soc settings. And, using USB snoop tool on Windows to get the correct i2c commands to turn on/off the LED flash. Priority: normal Signed-off-by: AceLan Kao <acelan.kao@canonical.com> Signed-off-by: Jean-Francois Moine <moinejf@free.fr>
2009-07-26cx88: HVR1300 ensure switching from Encoder to DVB-T and back is reliableSteven Toth
From: Sohail Syyed <linuxtv@hubstar.net> Current tip is broken and does not switch back to DVB-T correctly Priority: high Signed-off-by: Sohail Syyed <linuxtv@hubstar.net> Signed-off-by: Steven Toth <stoth@kernellabs.com>