Commit Graph

61225 Commits

Author SHA1 Message Date
Trent Piepho
ac7dc84584 V4L/DVB (5805): Bttv: Fix problems with probing for non-existent tuners
The bttv driver has code to detect if a tda9887 is present, that was previous
used to auto-load the tda9887 driver.  Now there is no tda9887 driver, so the
code is pointless; it just figures out if it should load the driver and then
does nothing.

For cards that are defined as having no tuner, the init code would still do
i2c probes for various tuner devices and auto-load the tuner module.  That can
be skipped for cards that don't need it.  The code is made to understand that
in addition to 'UNSET', 'TUNER_ABSENT' also means no tuner.

The tuner into printk()s are also made nicer.  Levels are added, INFO or
WARNING, depending on the meaning.  For cards with no tuner, or no tuner
defined, a more informative message is printed.

Card has no tuner, before patch:
bttv0: tuner type=-1
 or
bttv0: tuner type=4

After patch:

bttv0: tuner absent

Card has a tuner, but the type isn't defined, before patch:
bttv0: tuner type=-1

After patch:
bttv0: tuner type unset   [<- also warning now, as the tuner won't work right]

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:26 -03:00
Michael Krufky
27cb786f4e V4L/DVB (5803): Bttv: add support for DViCO FusionHDTV 2
add analog video support for DViCO FusionHDTV 2
Thanks to Todd Ignasiak for donating the card.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:26 -03:00
Michael Krufky
c350f617ff V4L/DVB (5801): Tuner: update FCV1236D ranges to match the datasheet
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:25 -03:00
Michael Krufky
b82736362b V4L/DVB (5800): Tuner: correct description of Philips FCV1236D tuner
The old description was "Philips 1236D ATSC/NTSC dual in", which can be
confused with other Philips tuner models.  This patch corrects the name
to "Philips FCV1236D ATSC/NTSC dual in", and updates the range and params
array names to match the description.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:25 -03:00
Michael Krufky
cd2cd0aad0 V4L/DVB (5799): Or51211: remove hardcoded fcv1236d tuner programming
- Remove hardcoded fcv1236d tuner programmming from or51211.c
- Alter dvb-bt8xx for the pcHDTV-2000 to use dvb-pll for fcv1236d support.
Thanks to Jarom Hatch <jshatch@gmail.com> for testing this change.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:24 -03:00
Michael Krufky
f1b24397e8 V4L/DVB (5798): Dvb-pll: add support for Philips fcv1236d
This patch adds support to the dvb-pll library for the
Philips fcv1236d tuner, based on the FCV1236D datasheet.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:24 -03:00
Marco Gittler
d06cdbe590 V4L/DVB (5795): Fix: remove unused struct that could avoiding load the firmware
The dvb_usb_device* d is not used anymore and can be removed.

Signed-off-by: Marco Gittler <g.marco@freenet.de>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:23 -03:00
Michael Krufky
8218b0b2ca V4L/DVB (5793): Tuner: remove hardware-specific info from public header
Move internal structures and debug macros to drivers/media/video/tuner-driver.h

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:23 -03:00
Antoine Jacquet
bebeaea0a5 V4L/DVB (5792): Zr364xx: add support for Trust Powerc@m 970Z
Add Trust Powerc@m 970Z (0x06d6:0x003b) to the list of supported devices.

Signed-off-by: Antoine Jacquet <royale@zerezo.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:23 -03:00
Mauro Carvalho Chehab
ea6337417d V4L/DVB (5791): Fix Kbuild for kbd-ir-i2c
Potentially, all board types with I2C and IR support can use an i2c
based IR. Currently, the driver is selected only if bt848 or saa7134
boards are selected.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:22 -03:00
Mauro Carvalho Chehab
2f3ed0538b V4L/DVB (5790): Fix error handling for stv680
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:21 -03:00
Mauro Carvalho Chehab
2d9078f73e V4L/DVB (5789): Fix 3dfx Voodoo entries on Cardlist
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:21 -03:00
Michael Krufky
829ea96477 V4L/DVB (5788): Cx88-input: convert nested if's to switch..case
In the function, cx88_ir_handle_key:
- convert nested if statement to a switch..case block

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:20 -03:00
Edgar Pisani
e7d11ecbde V4L/DVB (5787): Cx88: add remote control support for Leadtek Winfast DTV1000
Signed-off-by: Edgar Pisani <episani@onqweb.com.au>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:20 -03:00
Jan Frey
39cf1e810a V4L/DVB (5786): Ir-kbd-i2c: add support for Hauppauge HVR1300 remote
- add support for the I2C based IR transceiver of the Hauppauge HVR-1300
- remove bad code from cx88-input.c

Signed-off-by: Jan Frey <jfrey@gmx.de>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:20 -03:00
Wade Berrier
434b25263a V4L/DVB (5785): Revisited: 3dfx Voodoo TV 200 (US)
Fix support for 3dfx Voodoo TV 200 variant

Signed-off-by: Wade Berrier <wberrier@gmail.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:19 -03:00
Michael Krufky
096bb77aba V4L/DVB (5784): Dibusb-mb: fix tuner autodetection regression
We must set i2c_msg.addr in order for the autodetection test to succeed!

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:18 -03:00
Mauro Carvalho Chehab
7d816b256d V4L/DVB (5783): Fix excess of debug messages on cx88-mpeg
Closes the issue opened on Kernel bugzilla:
	http://bugzilla.kernel.org/show_bug.cgi?id=8383
There's no need to print timeout without debug turned on:
	Apr 27 23:02:14 video kernel: cx88[1]/2-mpeg: cx8802_timeout

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:18 -03:00
Michael Krufky
47a9991e80 V4L/DVB (5780): Dvb: Remove static dependencies on dvb-pll
This patch removes all static dependencies on the dvb-pll module.
All exported dvb_pll_desc's have been UNexported, and the caller
will reference the individual dvb_pll_desc by it's index in the
pll_list array.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Acked-by: Oliver Endriss <o.endriss@gmx.de>
Acked-by: Manu Abraham <manu@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:16 -03:00
Michael Krufky
6c08d9290e V4L/DVB (5779): Dibusb-mb: fix broken 'tuner_pass_ctrl' functionality
'tuner_pass_ctrl' functionality of the dib3000-mb devices was broken in 
the previous changeset:

"dibusb-mb: convert pll handling to properly use dvb-pll"

This patch fixes this problem by assigning this functionality to the 
i2c_gate_ctrl callback

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:16 -03:00
Michael Krufky
865dd115c9 V4L/DVB (5778): Dvb-usb: kill unused tuner/i2c functions
These two functions are no longer being used:
	dvb_usb_tuner_init_i2c
	dvb_usb_tuner_set_params_i2c

This functionality has been taken over by dvb-pll

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Patrick Boettcher <pb@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:15 -03:00
Trent Piepho
4ce1567892 V4L/DVB (5777): Dvb-pll digitv dvb-usb: Eliminate last user of dvb_pll_configure
The last user of dvb_pll_configure was the dvb-usb function
dvb_usb_tuner_calc_regs(), which was nothing more than a wrapper around
dvb_pll_configure().  It's just a copy of the functionality provided by
the tuner_ops calc_regs method, and can be deleted.

There were two users of dvb_usb_tuner_calc_regs().
One was dvb_usb_tuner_set_params_i2c(), which is converted to use
fe->ops.tuner_ops.calc_regs().

The other was the digitv driver.  This driver can use one of two demods,
mt352 or nxt6000.  

For the mt352, the driver would set tuner_ops.calc_regs to 
dvb_usb_tuner_calc_regs().  

We can just attach dvb_pll and use the tuner_ops.calc_regs() provided by 
that module. For the nxt600, the driver would set tuner_ops.set_params 
to digitv_nxt6000_tuner_set_params.  

That function would in turn use dvb_usb_tuner_calc_regs().

We convert it to use tuner_ops.calc_regs() instead, and use 
dvb_pll_attach.

The digitv_tuner_attach() needs to know which frontend was attached by 
digitv_frontend_attach(), since the nxt6000 needs tuner_ops.set_params() 
to be overridden with digitv_nxt6000_tuner_set_params().

So, to do this a digitv_state that says which frontend was used is added 
to the dvb_usb_device private state field.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:15 -03:00
Rafael Bilski
b784e526a8 V4L/DVB (5776): Hardware MPEG audio fix for SAA7134 based "KNC One TV-Station DVR" card
With previous patch card is generating MPEG audio stream too.
Unfortunatly I2S audio output is muted. Unmute it.

Signed-off-by: Rafal Bilski <rafalbilski@interia.pl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:14 -03:00
Rafał Bilski
aac0ca6a8b V4L/DVB (5775): Alsa fix for SAA7134 based "KNC One TV-Station DVR" card
Sound recording doesn't work for this card because ACNI and ACPF
are not set before snd_card_saa7134_capture_prepare(). As a result
timeout occurs. These registers aren't poked because thread
never gets wake up signal. ACNI initialization is done in the
thread.
Sound is muted when capture stops. Shouldn't be because it may
be used during TV playback.

Signed-off-by: Rafal Bilski <rafalbilski@interia.pl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:13 -03:00
Michael Krufky
6d7930e0cd V4L/DVB (5772): Cx88: remove two unused pointers from struct cx8802_dev
The following two pointers in struct cx8802_dev are unused - remove them:

void* fe_handle;
int   (*fe_release)(void *handle);

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:13 -03:00
Michael Krufky
302170a4b4 V4L/DVB (5771): Get_dvb_firmware: update script for new location
Get_dvb_firmware: update script for new location of sp8870 firmware

This url is no longer valid:
http://www.technotrend.de/new/217g/tt_Premium_217g.zip

Replace with: 
http://www.softwarepatch.pl/9999ccd06a4813cb827dbb0005071c71/tt_Premium_217g.zip

Thanks-to: Tobias Stoeber <tobi@to-st.de>

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:12 -03:00
Hans Verkuil
f5948bbab0 V4L/DVB (5770): Ivtv: fix return code of VIDIOC_G/S_FBUF when no FB is present
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:11 -03:00
Hans Verkuil
47fd3ba9fc V4L/DVB (5769): Ivtv: fix broken VBI output support
The old service_set_out setting was still tested, even though it no longer
was ever set and was in fact obsolete. This meant that everything that was
written to /dev/vbi16 was ignored. Removed the service_set_out variable
altogether and now it works again.

Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:10 -03:00
Hans Verkuil
27b5a3957a V4L/DVB (5768): Ivtv: fix converity warning
Signed-off-by: Hans Verkuil <hverkuil@xs4all.nl>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:10 -03:00
Luca Risolia
4052fcc7ba V4L/DVB (5767): ZC0301 driver updates
- Make the driver depend on V4L2 only (KConfig)
- Better and safe locking mechanism of the device structure on open(), close()
  and disconnect()
- Use kref for handling device deallocation
- Generic cleanups

Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:09 -03:00
Luca Risolia
3b2ae0be9e V4L/DVB (5766): ET61x251 driver updates
- Make the driver depend on V4L2 only (KConfig)
- Better and safe locking mechanism of the device structure on open(),
  close() and disconnect()
- Use kref for handling device deallocation
- Generic cleanups

Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:08 -03:00
Luca Risolia
3770be3419 V4L/DVB (5765): SN9C1xx driver updates
- Add support for pair OV7630+SN9C120
- Better and safe locking mechanism of the device structure on open(),
  close() and disconnect()
- Use kref for handling device deallocation
- Generic cleanups

Signed-off-by: Luca Risolia <luca.risolia@studio.unibo.it>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:07 -03:00
Mauro Carvalho Chehab
a6e2b40cb4 V4L/DVB (5763): Fix tea5761 unselection
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:06 -03:00
Michael Krufky
5d807c9fc3 V4L/DVB (5759): Tuner-simple: store tuning operations in tuner_operations struct
Create static struct tuner_operations simple_tuner_ops
for tuner-simple tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:06 -03:00
Michael Krufky
0f838f8d02 V4L/DVB (5758): Tea5767: store tuning operations in tuner_operations structure
Create static struct tuner_operations tea5767_tuner_ops for tea5767 
tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:05 -03:00
Michael Krufky
e407cd54ee V4L/DVB (5757): Tea5761: store tuning operations in tuner_operations structure
Create static struct tuner_operations tea5761_tuner_ops
for tea5761 tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:05 -03:00
Michael Krufky
9af596ebc7 V4L/DVB (5756): Tda9887: store tuning operations in tuner_operations structure
Create static struct tuner_operations tda9887_tuner_ops
for tda9887 tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:04 -03:00
Michael Krufky
7fd8b26367 V4L/DVB (5755): Tda8290: store tuning operations in tuner_operations structure
Create static struct tuner_operations tda8290_tuner_ops
for tda8290 tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:04 -03:00
Michael Krufky
c22bcb07ad V4L/DVB (5754): Mt20xx: store tuning operations in tuner_operations structure
Create static struct tuner_operations mt2050_tuner_ops and mt2032_tuner_ops
for mt20xx tuning function callback pointers

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:03 -03:00
Michael Krufky
7a91a80a0d V4L/DVB (5753): Tuner: create struct tuner_operations
Move tuner callback function pointers out of struct tuner, into
struct tuner_operations.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:24:02 -03:00
Mauro Carvalho Chehab
018ec5440b V4L/DVB (5750): Remove obsoleted support for PROC_FS on vicam.c
Procfs support on V4L were converted to sysfs support by a pre-2.6 patch:

	http://www.ussg.iu.edu/hypermail/linux/kernel/0307.1/2356.html

There's no sense on keeping the dead code inside vicam.c. Also,it won't
work anyway, as part of proc_fs support were previously inside
videodev.c.

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:59 -03:00
Mauro Carvalho Chehab
890be2bb55 V4L/DVB (5774a): Remove CONFIG_BIGPHYS_AREA from zoran_driver
CONFIG_BIGPHYS_AREA is an out-of-tree kernel patch. It makes no sense to 
keep supporting this on mainstream.

The out-of-tree compilation with CONFIG_BIGPHYS_AREA will still be
preserved at the v4l-dvb development tree at:
	http://linuxtv.org/hg/v4l-dvb

Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:58 -03:00
Michael Krufky
b7c97abd81 V4L/DVB (5747): Tea5761: remove duplicated "#include <media/tuner.h>"
The line, "#include <media/tuner.h>" appears twice.
This patch removes the second occurance.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:57 -03:00
Trent Piepho
f3a0d86f1d V4L/DVB (5745): Dvb: use '+=' instead of '=' for EXTRA_CFLAGS
The Makefiles in the dvb directory tree used '=' when defining EXTRA_CFLAGS
rather than '+=', which is far more common in the rest of the kernel source.
  =  14 times (9 of which this patch removes)
 :=  25 times
 += 123 times
This change also has certain advantages for the out of kernel v4l-dvb build
system.

Signed-off-by: Trent Piepho <xyzzy@speakeasy.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:56 -03:00
Michael Krufky
052c50d916 V4L/DVB (5743): Tuner: clean up kfree() after release
Although it is safe to kfree(NULL), We only need to kfree(priv)
if the release callback is undefined.  As it stands now, there
is some redundancy in the operation of releasing the priv data
structures. This patch will call kfree(priv) and set priv to NULL,
if the release callback isnt defined.  Otherwise, let the release
callback handle this itself.
Thanks to Mauro Carvalho Chehab for suggesting this.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:56 -03:00
Michael Krufky
024cf53089 V4L/DVB (5742): Tuner: define release callback for mt20xx, tda9887 and tda8290
Define tuner release callbacks for mt20xx, tda9887 and tda8290, so that
these drivers can release their own private structures themselves.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:55 -03:00
Michael Krufky
be2b85a135 V4L/DVB (5741): Tuner: add release callback
Individual tuner drivers are now allocating memory themselves for
their own private data structures.  This changeset adds a release
callback to the tuner operations, so that newer drivers that may
require more complex data structures may release this private data
themselves.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:54 -03:00
Adrian Bunk
9ee476a56c V4L/DVB (5740): Git-dvb: fix the tea5761 tuner support
Due to a typo the tea5761 tuner support was dead code.
This patch also fixes a bug in the no longer dead code:
A void function can't return anything.

Signed-off-by: Adrian Bunk <bunk@stusta.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:53 -03:00
Robert P. J. Day
0c71bf1c30 V4L/DVB (5739): Replace C code with calls to ARRAY_SIZE macro.
Signed-off-by: Robert P. J. Day <rpjday@mindspring.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:52 -03:00
Michael Krufky
e0099e9eda V4L/DVB (5734): Cx88: kill dev->fw_size
Now that cx88-blackbird is only accepting the official firmware image,
we no longer have any need to store the size of the firmware inside the
cx88 data structure.

Signed-off-by: Michael Krufky <mkrufky@linuxtv.org>
Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
2007-07-18 14:23:52 -03:00