linux/drivers/mfd
Linus Torvalds 1286da8bc0 sound updates for 3.11
A relative calm release at this time with a flat diffstat.
 The only significant change in the ALSA core side is the support for
 more than 32 card instances, configurable via kconfig.
 Other than that, in both ASoC and other parts, mostly some
 improvements and fixes on the driver side.
 
 - hda: More quirks for ALC269-variants on Dell & co, VIA codec fixes
 - hda: Haswell HDMI audio fixes, runtime PM improvements
 - hda: Intel BayTrail support, ALC5505 DSP support
 - es1968: MediaForte M56VAP support
 - usb-audio: Improved support for Yamaha/Roland devices
 - usb-audio: M2Tech hiFace, Audio Advantage Micro II support
 - hdspm: wordclock fixes
 - ASoC: Pending fixes for WM8962
 - ASoC: Cleanups and fixes for Blackfin, SGTL5000 and UX500
 - ASoC: Generalisation of the Bluetooth and HDMI stub drivers
 - ASoC: SSM2518 and RT5640 codec drivers.
 - ASoC: Tegra CPUs with RT5640 machine driver
 - ASoC: AC'97 refactoring bug fixes
 - ASoC: ADAU1701 driver fixes
 - Clean up of *_set_drvdata() in a wide range of drivers
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.19 (GNU/Linux)
 
 iQIcBAABAgAGBQJR1BNeAAoJEGwxgFQ9KSmk5mAP/iH8IPdaMq/EI3Kdk2lwqXwK
 xQvpQCKTeux4UrETSDM5kOfk+Nv0oq7jD60wEZs6eONAZdfIzACEjdpQBdC4vr6f
 2S8b9J6xBe2siHGbzBsgV9g8xhnYXC5m0u8QBRa9fyNVpMu1o1X6Mv7FS/wUCMZ6
 M7vaSdrU4pfa4v9sy9loOYbyDZoSZg0revwqWAm8Kfp4XSd1aPwiCVPLVOWcvNYC
 hriz5ICARFg+yqzJADPBYtSU752zxlZd/N1b2YQw1YnoxA66FoVaqQfYD1voL0WY
 8m9abNlnln6qxyeQPMvRMZty1I/kCwOlp5dO0OZHisMLE8MApLk1e7ct9+W+b9hn
 NORbo3klmwZfIl1s8JSGHs5Nknqzhdzau35TVPTmtC50wgnPO6EYVeYFiZqkuYyK
 UdCHJTRjyS6HlmbdKeSaRr+PoCR0zVQruXFjWnAwQ9Zy+1qrnVb5Ly9np7YCc8YC
 3iYOygJyn+JmyfeeIxVUCg6Rdf4NUv+JPx48yuoq79YnWAbRiSSct1/J+4YcYcm5
 VjJdtCwElil3dSeba+Oy2wcSwaJzyaINbClzmZdysT26M8QLZaRCBU0zujeiyl/n
 lV/p/n+UmmtfHIdJDz6Eu6fQVAbh0v89mZrEJdjroLebwS1NBLAaKkb9vY63AdKt
 P5c/7KWejQ/CtoVYeo3O
 =i5lT
 -----END PGP SIGNATURE-----

Merge tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound

Pull sound updates from Takashi Iwai:
 "A relative calm release at this time with a flat diffstat.  The only
  significant change in the ALSA core side is the support for more than
  32 card instances, configurable via kconfig.  Other than that, in both
  ASoC and other parts, mostly some improvements and fixes on the driver
  side.

   - hda: More quirks for ALC269-variants on Dell & co, VIA codec fixes
   - hda: Haswell HDMI audio fixes, runtime PM improvements
   - hda: Intel BayTrail support, ALC5505 DSP support
   - es1968: MediaForte M56VAP support
   - usb-audio: Improved support for Yamaha/Roland devices
   - usb-audio: M2Tech hiFace, Audio Advantage Micro II support
   - hdspm: wordclock fixes
   - ASoC: Pending fixes for WM8962
   - ASoC: Cleanups and fixes for Blackfin, SGTL5000 and UX500
   - ASoC: Generalisation of the Bluetooth and HDMI stub drivers
   - ASoC: SSM2518 and RT5640 codec drivers.
   - ASoC: Tegra CPUs with RT5640 machine driver
   - ASoC: AC'97 refactoring bug fixes
   - ASoC: ADAU1701 driver fixes
   - Clean up of *_set_drvdata() in a wide range of drivers"

* tag 'sound-3.11' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (284 commits)
  ALSA: vmaster: Fix the regression of missing vmaster hook call
  ALSA: hda - Add Dell SSID to support Headset Mic recording
  ASoC: adau1701: remove control_data assignment
  ASoC: adau1701: more direct regmap usage
  ASoC: ac97: fixup multi-platform AC'97 module build failure
  ASoC: pxa2xx: fixup multi-platform AC'97 build failures
  ASoC: tegra20-ac97: Remove unused variable
  ASoC: tegra20-ac97: Remove duplicate error message
  ALSA: usb-audio: Add Audio Advantage Micro II
  ASoC: tas5086: fix Mid-Z implementation
  ASoC: tas5086: fix TAS5086_CLOCK_CONTROL register size
  ALSA: Replace the magic number 44 with const
  ALSA: hda - Fix the max length of control name in generic parser
  ALSA: hda - Guess what, it's two more Dell headset mic quirks
  ALSA: hda - Yet another Dell headset mic quirk
  ALSA: hda - Add support for ALC5505 DSP power-save mode
  ASoC: mfld: Remove unused variable
  ALSA: usb-audio: add quirks for Roland QUAD/OCTO-CAPTURE
  ALSA: usb-audio: claim autodetected PCM interfaces all at once
  ALSA: usb-audio: remove superfluous Roland quirks
  ...
2013-07-03 19:52:22 -07:00
..
88pm80x.c mfd: 88pm80x: Remove redundant devm_* calls 2013-02-14 00:22:54 +01:00
88pm800.c mfd: 88pm80x: Remove redundant devm_* calls 2013-02-14 00:22:54 +01:00
88pm805.c mfd: 88pm80x: Remove redundant devm_* calls 2013-02-14 00:22:54 +01:00
88pm860x-core.c mfd: 88pm860x: Drop devm_kfree of devm_kzalloc'd data 2013-04-08 17:25:18 +02:00
88pm860x-i2c.c mfd: Convert struct i2c_msg initialization to C99 format 2012-09-21 23:40:34 +02:00
Kconfig mfd: ab8500: Debugfs code depends on gpadc 2013-05-17 00:42:29 +02:00
Makefile mfd: si476x: Add header files and Kbuild plumbing 2013-04-19 18:38:13 +02:00
aat2870-core.c mfd: aat2870: Use use devm_*() functions 2013-04-08 17:25:26 +02:00
ab3100-core.c regulator: ab3100: device tree support 2013-04-24 10:54:07 +01:00
ab3100-otp.c mfd: ab3100-otp: use module_platform_driver_probe() 2013-04-05 18:08:31 +02:00
ab8500-core.c mfd: ab8500-core: Pass GPADC compatible string to MFD core 2013-05-17 00:42:33 +02:00
ab8500-debugfs.c mfd: ab8500: Pass AB8500 IRQ to debugfs code by resource 2013-05-17 00:42:31 +02:00
ab8500-gpadc.c PM / Runtime: Rework the "runtime idle" helper routine 2013-06-03 21:49:52 +02:00
ab8500-sysctrl.c mfd: ab8500-sysctrl: Let sysctrl driver work without pdata 2013-05-21 23:23:21 +02:00
abx500-core.c mfd: abx500-core: Fix sparse warning 2013-05-17 00:42:29 +02:00
adp5520.c mfd: adp5520: Restore mode bits on resume 2013-04-08 16:48:06 +02:00
arizona-core.c mfd: arizona: Change fast_start pdata name to better reflect functionality 2013-05-21 12:41:54 -05:00
arizona-i2c.c mfd: Add device tree bindings for Arizona class devices 2013-05-20 08:13:36 -05:00
arizona-irq.c mfd: arizona: Try to use interrupt flags from interrupt controller 2013-04-08 15:20:58 +02:00
arizona-spi.c mfd: Add device tree bindings for Arizona class devices 2013-05-20 08:13:36 -05:00
arizona.h mfd: Add device tree bindings for Arizona class devices 2013-05-20 08:13:36 -05:00
as3711.c mfd: as3711: Add OF support 2013-04-05 11:20:14 +02:00
asic3.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
cros_ec.c mfd: cros_ec: Export needed symbols for the i2c and spi modules 2013-04-05 11:20:13 +02:00
cros_ec_i2c.c mfd: Add ChromeOS EC I2C driver 2013-04-05 11:20:13 +02:00
cros_ec_spi.c mfd: cros_ec_spi: Use %z to format pointer differences 2013-05-16 19:14:06 +02:00
cs5535-mfd.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
da903x.c mfd: da903x: Use devm_*() functions 2013-04-08 17:25:28 +02:00
da9052-core.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
da9052-i2c.c mfd: da9052-i2c: Staticize da9052_i2c_fix() 2013-02-14 00:26:41 +01:00
da9052-irq.c mfd: da9052: Introduce da9052-irq.c 2012-11-20 12:21:10 +01:00
da9052-spi.c mfd: da9052: Use spi_get_drvdata() and spi_set_drvdata() 2013-04-09 12:18:16 +02:00
da9055-core.c mfd: da9055: Change irq state to default 2013-04-09 10:09:26 +02:00
da9055-i2c.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
davinci_voicecodec.c mfd: davinci_voicecodec: use module_platform_driver_probe() 2013-04-05 18:08:45 +02:00
db8500-prcmu.c Power management and ACPI updates for 3.11-rc1 2013-07-03 14:35:40 -07:00
dbx500-prcmu-regs.h mfd: db8500: Update BML clock register for db8580 2013-06-06 18:17:16 -07:00
dm355evm_msp.c mfd: Use gpio_request_one from dm355evm_msp 2012-01-09 00:37:38 +01:00
ezx-pcap.c mfd: ezx-pcap: Use spi_get_drvdata() and spi_set_drvdata() 2013-04-09 12:18:16 +02:00
htc-egpio.c mfd: Fold irq_set_chip/irq_set_handler 2011-03-27 00:09:52 +01:00
htc-i2cpld.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08:00
htc-pasic3.c mfd: htc-pasic3: use module_platform_driver_probe() 2013-04-05 18:08:45 +02:00
intel_msic.c drivers/mfd: don't check resource with devm_ioremap_resource 2013-05-18 11:55:53 +02:00
janz-cmodio.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
jz4740-adc.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
lm3533-core.c mfd: lm3533: Use devm_gpio_request_one() 2013-04-08 17:25:23 +02:00
lm3533-ctrlbank.c mfd: Use SI-units for the lm3533 max-current interface 2012-05-20 17:27:02 +02:00
lp8788-irq.c mfd: Add lp8788 mfd driver 2012-09-23 20:51:34 +02:00
lp8788.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
lpc_ich.c mfd: lpc_ich: Use devres API to allocate private data 2013-02-15 18:43:38 +01:00
lpc_sch.c mfd: lpc_sch: Accomodate partial population of the MFD devices 2013-02-14 00:26:45 +01:00
max8907.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
max8925-core.c mfd: max8925: Fix onkey driver irq base 2013-02-14 00:23:00 +01:00
max8925-i2c.c mfd: max8925: Add irqdomain for dt 2013-02-14 00:23:00 +01:00
max8997-irq.c mfd: Add irq domain support for max8997 interrupts 2012-07-09 00:16:13 +02:00
max8997.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
max8998-irq.c mfd: Cleanup irq namespace 2011-03-27 00:09:51 +01:00
max8998.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
max77686-irq.c mfd: Allow to specify max77686 interrupt through DT or platform file also 2012-07-09 15:13:42 +02:00
max77686.c mfd: max77686: Use NULL instead of 0 2013-04-08 11:47:15 +02:00
max77693-irq.c mfd: MAX77693: Fix interrupt handling bug 2012-09-16 00:32:57 +02:00
max77693.c mfd: max77693: Init max77693->dev before using it 2013-01-22 03:02:22 +01:00
mc13xxx-core.c mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mc13xxx-i2c.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
mc13xxx-spi.c mfd: mc13xxx: Use spi_get_drvdata() and spi_set_drvdata() 2013-04-09 12:18:16 +02:00
mc13xxx.h mfd: mc13xxx: Add support for mc34708 2012-11-06 23:14:08 +01:00
mcp-core.c Disintegrate and delete asm/system.h 2012-03-28 15:58:21 -07:00
mcp-sa11x0.c ARM: sa1100: move platform_data definitions 2012-09-14 11:18:57 +02:00
menelaus.c ARM: OMAP2: Move plat/menelaus.h to linux/mfd/menelaus.h 2012-10-15 13:53:41 -07:00
mfd-core.c mfd: Only unregister platform devices allocated by the mfd core 2012-11-20 12:21:12 +01:00
omap-usb-host.c mfd: omap-usb-host: Convert to devm_ioremap_resource() 2013-04-09 15:01:31 +02:00
omap-usb-tll.c mfd: omap-usb-tll: Convert to devm_ioremap_resource() 2013-04-09 15:01:31 +02:00
omap-usb.h mfd: omap-usb-tll: Move configuration code to omap_tll_init() 2013-04-09 09:46:23 +02:00
palmas.c mfd: palmas: Initialise client->of_node for dummy created client 2013-04-08 18:13:20 +02:00
pcf50633-adc.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
pcf50633-core.c mfd: pcf50633: Init pcf->dev before using it 2013-01-22 03:05:33 +01:00
pcf50633-gpio.c mfd: Include linux/mfd/pcf50633/pmic.h in pcf50633-gpio.c 2012-03-06 18:46:51 +01:00
pcf50633-irq.c mfd: Include linux/mfd/pcf50633/mbc.h in pcf50633-irq.c 2012-03-06 18:46:51 +01:00
pm8xxx-irq.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
pm8921-core.c SSBI: Remove MSM_ prefix from SSBI drivers 2013-03-25 10:39:40 -07:00
rc5t583-irq.c mfd: rc5t583: Fix array subscript is above array bounds 2012-11-26 12:10:51 +01:00
rc5t583.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
rdc321x-southbridge.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
retu-mfd.c mfd: retu: Add Tahvo support 2013-04-19 00:45:20 +02:00
rtl8411.c mfd: rtsx: Implement driving adjustment to device-dependent callbacks 2013-02-14 00:22:59 +01:00
rts5209.c mfd: rtsx: Implement driving adjustment to device-dependent callbacks 2013-02-14 00:22:59 +01:00
rts5227.c mfd: rtsx: Support RTS5227 2013-02-14 00:22:59 +01:00
rts5229.c mfd: rtsx: Implement driving adjustment to device-dependent callbacks 2013-02-14 00:22:59 +01:00
rts5249.c mfd: rtsx: Support RTS5249 2013-04-19 18:29:18 +02:00
rtsx_pcr.c mfd: rtsx: Support RTS5249 2013-04-19 18:29:18 +02:00
rtsx_pcr.h mfd: rtsx: Support RTS5249 2013-04-19 18:29:18 +02:00
sec-core.c regulator: s5m8767: Fix build in non-DT case 2013-02-04 18:31:25 +00:00
sec-irq.c mfd: sec: Fix reg_offset for interrupt registers 2012-11-26 00:35:08 +01:00
si476x-cmd.c mfd: si476x: Use get_unaligned_be16() for unaligned be16 loads 2013-05-16 19:15:07 +02:00
si476x-i2c.c mfd: si476x: Fix i2c warning 2013-04-19 18:40:05 +02:00
si476x-prop.c mfd: si476x: Add chip properties handling code 2013-04-19 18:37:59 +02:00
sm501.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
smsc-ece1099.c mfd: smsc: Add support for smsc gpio io/keypad driver 2012-10-01 15:27:48 +02:00
sta2x11-mfd.c mfd: sta2x11: Build warning fix 2013-04-08 17:28:29 +02:00
stmpe-i2c.c mfd: support stmpe1801 18 bits enhanced port expander 2013-04-09 14:15:58 +02:00
stmpe-spi.c mfd: stmpe: Use spi_get_drvdata() 2013-04-09 12:18:16 +02:00
stmpe.c mfd: stmpe: use irq_get_trigger_type() to get IRQ flags 2013-06-25 11:48:25 +02:00
stmpe.h mfd: support stmpe1801 18 bits enhanced port expander 2013-04-09 14:15:58 +02:00
syscon.c ARM: clps711x: Add support for SYSCON driver 2013-06-11 15:47:45 -07:00
t7l66xb.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
tc3589x.c mfd: tc3589x: Use devm_*() functions 2013-04-08 17:25:29 +02:00
tc6387xb.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tc6393xb.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ti-ssp.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
ti_am335x_tscadc.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
timberdale.c spi: spi-xilinx: Add run run-time endian detection 2013-06-04 18:37:35 +01:00
timberdale.h [media] mfd: Add timberdale video-in driver to timberdale 2010-12-29 08:16:46 -02:00
tmio_core.c mfd: Add export.h for EXPORT_SYMBOL/THIS_MODULE as required 2011-10-31 19:32:05 -04:00
tps6105x.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps6507x.c mfd: tps6507x: Add DT support 2013-02-14 00:22:54 +01:00
tps6586x.c mfd: tps6586x: correct device name of the regulator cell 2013-06-24 12:37:47 +01:00
tps65010.c mfd: remove IRQF_SAMPLE_RANDOM which is now a no-op 2012-07-19 10:38:33 -04:00
tps65090.c mfd: tps65090: Add compatible string for charger subnode 2013-04-11 00:16:29 +02:00
tps65217.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65910.c This is the MFD patch set for the 3.8 merge window. 2012-12-16 18:55:20 -08:00
tps65911-comparator.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps65912-core.c mfd: tps65912: Declare and use tps65912_irq_exit() 2013-03-12 09:25:50 +01:00
tps65912-i2c.c mfd: Fix off-by-one value range checking for tps65912_i2c_write 2011-07-31 23:28:25 +02:00
tps65912-irq.c tps65912: irq: add interrupt controller 2011-07-31 23:28:22 +02:00
tps65912-spi.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
tps80031.c Drivers: mfd: remove __dev* attributes. 2013-01-03 15:57:14 -08:00
twl-core.c mfd: twl-core: Fix kernel panic on boot 2013-02-14 00:26:28 +01:00
twl-core.h mfd: Move twl-core IRQ allocation into twl[4030|6030]-irq files 2012-03-22 13:04:33 +01:00
twl4030-audio.c mfd: twl4030-audio: Fix argument type for twl4030_audio_disable_resource() 2013-03-12 09:25:51 +01:00
twl4030-irq.c mfd: twl4030-irq: Use irq_get_trigger_type() to get IRQ flags 2013-06-25 11:48:25 +02:00
twl4030-madc.c mfd: twl4030-madc: Add support for raw value in twl4030_madc_conversion 2013-04-08 16:36:23 +02:00
twl4030-power.c mfd: twl4030: Don't warn about uninitialized return code 2013-01-27 02:18:01 +01:00
twl6030-irq.c mfd/rtc/gpio: twl: No need to allocate bigger buffer for write 2012-11-21 16:08:00 +01:00
twl6040.c mfd: twl6040: Use devm_*() functions 2013-04-08 17:25:27 +02:00
ucb1x00-assabet.c MFD: ucb1x00-assabet: add support for UCB1x00 GPIO switches 2012-02-18 23:15:44 +00:00
ucb1x00-core.c MFD: ucb1x00-core: add wakeup support 2012-02-18 23:15:43 +00:00
ucb1x00-ts.c MFD: ucb1x00: convert to use genirq 2012-02-18 23:15:43 +00:00
ucb1400_core.c mfd: ucb1400: Pass ucb1400-gpio data through ac97 bus 2013-04-19 00:40:07 +02:00
vexpress-config.c mfd: vexpress: Handle pending config transactions 2013-04-26 16:10:03 +02:00
vexpress-sysreg.c mfd: vexpress: Give the "leds-gpio" device a real parent 2013-04-09 12:09:09 +02:00
viperboard.c mfd: viperboard: Do version query in dma memory 2012-11-26 11:48:56 +01:00
vx855.c mfd: remove use of __devexit 2012-11-28 12:22:27 -08:00
wl1273-core.c mfd: remove use of __devinit 2012-11-28 12:20:19 -08:00
wm831x-auxadc.c mfd: Convert wm831x to irq_domain 2012-05-20 17:27:07 +02:00
wm831x-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
wm831x-i2c.c mfd: wm831x: Convert to devm_regmap_init() 2012-02-22 13:57:05 +00:00
wm831x-irq.c mfd: Emulate active low IRQs as well as active high IRQs for wm831x 2012-05-20 17:27:14 +02:00
wm831x-otp.c mfd: wm831x: Feed the device UUID into device_add_randomness() 2012-07-19 10:38:31 -04:00
wm831x-spi.c mfd: wm831x: Use spi_get_drvdata() and spi_set_drvdata() 2013-04-09 12:18:16 +02:00
wm5102-tables.c mfd: wm5102: Expose DRE control registers 2013-06-12 18:06:49 +01:00
wm5110-tables.c mfd: wm5110: Make DSPn_STATUS_3 readable 2013-05-22 19:13:47 -05:00
wm8350-core.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8350-gpio.c mfd: Rename wm8350 static gpio_set_debounce() 2011-09-06 16:37:58 +02:00
wm8350-i2c.c mfd: Add regmap cache support for wm8350 2012-07-09 00:16:10 +02:00
wm8350-irq.c mfd: Rely on regmap cache in wm8350 interrupt controller 2012-07-09 00:16:10 +02:00
wm8350-regmap.c mfd: Remove custom wm8350 cache implementation 2012-07-09 00:16:10 +02:00
wm8400-core.c mfd: core: Push irqdomain mapping out into devices 2012-09-15 23:22:04 +02:00
wm8994-core.c mfd: wm8994: Add some OF properties 2013-04-19 00:35:21 +02:00
wm8994-irq.c mfd: wm8994: Flag the interrupt block as requiring runtime PM be enabled 2012-08-07 20:30:00 +01:00
wm8994-regmap.c mfd: wm8994: Implement support for WM1811 devices with higher cust_ids 2012-09-14 09:52:11 +02:00
wm8994.h mfd: Initialise WM8994 register cache after reading chip ID registers 2011-12-13 00:11:13 +08:00